RELEASED Animal Husbandry Mod (former Butcher Mod) [v2.1.2]

Discussion in 'Mods' started by Digus, Oct 9, 2017.

  1. Digus

    Digus Existential Complex

    Status:
    I'm renaming classes, namespaces, project, manifest and stuff.
    I'm trying to do is as transparent as possible for the user. But the update process will still require people to copy the mod "data" directory into new mod folder. If trying to load the new version with the old one still their, the SMAPI log will show a error instructing the user to copy their data folder and deleting the old mod folder. The new version will not load in that case.
    I fixed the but with the Glazed Ham letter. It won't require tools upgrades anymore to avoid problem. It was to much trouble to do what I wanted. I just razed the Geodes cracked needed to 80 instead of 60.
    I also implemented a possible fix for the Rancher Profession affecting meat prices not working on Mac and Linux. But I can't test it since I don't have neither of these OS.
    I'm also still working on the front image for the modding page.

    I still need to work on the code for replacing the Meat Cleaver and Insemination Syringe when loading. Since I'm changing namespace of their classes, CustomElementHandler will not work and people will have a trash item on their inventory or chests. But it should not be difficult to replace them on load.
    worst case scenario people will receive the new version again in the mail, and will need to trash the old item.
     
      HopeWasHere likes this.
    • Digus

      Digus Existential Complex

      I warned Platonymous about the problem and he fixed it on version 1.1.1, so you can update to that version if you want. If ButcherMod is your only mod depending on it, it's not needed thought.
       
      • Digus

        Digus Existential Complex

        Here is the new front image of the mod.
        I might adjust something before releasing next version, but it's done for now.
        [​IMG]
         
        • Karmylla

          Karmylla Cosmic Narwhal

          That looks GORGEOUS, holy moly!!! Nice job!
           
            Digus likes this.
          • Digus

            Digus Existential Complex

            Thank you!

            I was up late to finish it, could not sleep without it.
            But after working on it for days, only after posting here I saw I misspelled husbandry...
             
              Last edited: Dec 8, 2017
            • Ichimatsu

              Ichimatsu Big Damn Hero

              To be fair, I didn't notice until you pointed that out :catxD:
               
                Karmylla and Digus like this.
              • Digus

                Digus Existential Complex

                Status:
                The end of the year is a really busy time, so I haven't been having time to work on the mod.
                Last night I was looking into how gifting work in the game. It's implemented in the NPC class, not in the Character class. FarmAnimals are Character, but not NPC, so there is no easy way to give them items the same way you give NPCs.
                So I'm going with a tool to feed them. I'm thinking of a feeding basket. I could use Linus basket as a base sprite and work from it.
                It would work similar to the insemination syringe to load vegetables and fruits.
                I'm still deciding if animals will only have one food they eat, or if an animal will have a favorite food, but you could give any for a lesser effect. The problem with that is because it would be more difficult to balance. I don't want people using just the cheapest food.
                Feeding will have a limit any way. I'm thinking of a treat every 4 days. But I could also do other limits, like 2 per week if only one per day. Or a 5 day cooldown for 2 different food.
                Anyway, this is just thinking.
                My first goal is to finish the changing name of the mod.
                The only thing I'm planing for next version beside bug fixes is to implement custom likes and dislikes for the villagers.
                I looked on how to do it without editing the game files. It should not be difficult. I found out that Alex already loves Steak with Mushrooms and Rabbit Stew, and Sam loves Bacon Cheese Burger and Steak Fajitas. Don't know why CA implemented it that way, but I'm not changing it.
                All raw meat will be a default dislike and the meal are already default to like.
                 
                  Last edited: Dec 13, 2017
                  Ichimatsu and HopeWasHere like this.
                • thewheatcrew

                  thewheatcrew Poptop Tamer

                  Thanks for the news. I don't use any other mods that depend on CustomTV but I will still update.
                   
                    Digus likes this.
                  • Luckstergal

                    Luckstergal Aquatic Astronaut

                    Oho! Definitely going to install and try this later! While I understand that CA just didn't have the heart to pull through with the butcher aspect, the lack of it has always bothered me when it comes to full fledged farmer life.

                    I'll wait until the next update you're working on before adding it! Awesome work from what I have seen here so far!
                     
                      Digus likes this.
                    • Digus

                      Digus Existential Complex

                      Status:
                      I'm still not having much time to work on the mod.
                      I already did everything needed to changing the name. I will test a little more, but it seems to be working. I'm only checking the player inventory and the chests around the world for the meat cleaver and insemination syringe. If anyone is placing them on the Mill or on the Junimo Hut it will not work. It's the same check I do for the letters. Since no one complained of receiving a Meat Clever everyday, I think this test is enough.

                      Now I'm going thought every villager to decide on their likes and dislikes for the dishes. It is boring but should not take long.
                       
                      • Fleckihund

                        Fleckihund Aquatic Astronaut

                        I'm having a problem with your mod, any way I can fix this?

                        I got notified that my sheep is about to give birth tomorrow. And I do have enough place. Howsoever, my morning starts with name screen (that one where you have to give a name to your newborn animal) and nothing happens if I click on "Ok". I noticed there's a problem with this mod. So I got rid of all other mods so I only have ButcherMod and it still doesn't work. How?

                        As you can notice, there's a problem with this recipe "glazedHamRecipe". I keep getting this, not sure how to fix it. Though it doesn't bother me much, only that I can't play because I can't click on "Ok" as said.

                        Here, have a log ;)


                        [23:44:47 INFO SMAPI] SMAPI 2.2 with Stardew Valley 1.2.33 on Microsoft Windows 7 Home Premium
                        [23:44:47 DEBUG SMAPI] Mods go here: A:\Spiele\Steam\steamapps\common\Stardew Valley\Mods
                        [23:44:47 TRACE SMAPI] Log started at 2017-12-18T22:44:47 UTC
                        [23:44:47 TRACE SMAPI] Overriding content manager...
                        [23:44:47 TRACE SMAPI] Starting game...
                        [23:44:49 TRACE SMAPI] Detecting common issues...
                        [23:44:49 TRACE SMAPI] Loading mod metadata...
                        [23:44:49 TRACE SMAPI] Loading mods...
                        [23:44:49 TRACE SMAPI] Loading MailFramework from MailFrameworkMod\MailFrameworkMod.dll...
                        [23:44:49 TRACE SMAPI] Loading Custom Element Handler from CustomElementHandler\CustomElementHandler.dll...
                        [23:44:49 TRACE SMAPI] Loading Custom TV from CustomTV\CustomTV.dll...
                        [23:44:49 TRACE SMAPI] Loading BUTCHER from ButcherMod\ButcherMod.dll...
                        [23:44:49 TRACE SMAPI] Detected game patcher (Harmony.HarmonyInstance type) in assembly 0Harmony.dll.
                        [23:44:49 WARN SMAPI] BUTCHER patches the game, which may impact game stability. If you encounter problems, try removing this mod first.
                        [23:44:49 TRACE SMAPI] Loading 0Harmony.dll...
                        [23:44:49 TRACE SMAPI] Detected game patcher (Harmony.HarmonyInstance type) in assembly ButcherMod.dll.
                        [23:44:49 TRACE SMAPI] Loading ButcherMod.dll...

                        [23:44:49 INFO SMAPI] Loaded 4 mods:
                        [23:44:49 INFO SMAPI] BUTCHER 1.3 by Digus | Adds a way to obtain meat from your animals.
                        [23:44:49 INFO SMAPI] Custom Element Handler 1.4 by Platonymous | SaveHandler for Custom Objects
                        [23:44:49 INFO SMAPI] Custom TV 1.1.1 by Platonymous | Custom TV Channels.
                        [23:44:49 INFO SMAPI] MailFramework 1.2 by Digus | Utility classes to send mail in the game.

                        [23:44:49 TRACE SMAPI] Invalidating cached assets for new editors & loaders...
                        [23:44:49 TRACE SMAPI] BUTCHER intercepted Data\CookingRecipes.
                        [23:44:49 TRACE SMAPI] BUTCHER intercepted Maps\MenuTiles.
                        [23:44:49 TRACE SMAPI] BUTCHER intercepted Data\ObjectInformation.
                        [23:44:49 TRACE SMAPI] Invalidated 3 asset names: Data\CookingRecipes, Data\ObjectInformation, Maps\MenuTiles. Reloaded 3 core assets.
                        [23:44:49 TRACE SMAPI] Context: locale set to en.
                        [23:44:49 INFO SMAPI] Type 'help' for help, or 'help <cmd>' for a command's usage
                        [23:44:49 TRACE SMAPI] Checking for SMAPI update...
                        [23:44:50 TRACE SMAPI] Checking for updates to 4 keys...
                        [23:45:06 TRACE Console.Out] gameMode was 'titleScreenGameMode (0)', set to 'loadingMode (6)'.
                        [23:45:06 TRACE Console.Out] getLoadEnumerator('Flecky_142280677')
                        [23:45:08 TRACE SMAPI] BUTCHER intercepted Data\Bundles.
                        [23:45:10 TRACE Console.Out] gameMode was 'loadingMode (6)', set to 'playingGameMode (3)'.
                        [23:45:10 TRACE SMAPI] BUTCHER intercepted TileSheets\tools.
                        [23:45:10 TRACE SMAPI] Context: loaded saved game 'Flecky_142280677', starting winter 26 Y2.
                        [23:45:10 ERROR MailFramework] Error while validating letter 'glazedHamRecipe'. This letter will be ignored.
                        [23:45:11 ERROR SMAPI] A mod failed handling the GameEvents.UpdateTick event:
                        System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.shortDisplayType()
                        bei ButcherMod.animals.PregnancyController.tickUpdate(Object sender, EventArgs e) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 199.
                        bei StardewModdingAPI.Framework.InternalExtensions.SafelyRaisePlainEvent(IMonitor monitor, String name, IEnumerable`1 handlers, Object sender, EventArgs args) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\InternalExtensions.cs:Zeile 40.
                        [23:45:19 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:19 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:19 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:19 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:19 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:19 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:19 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:19 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:19 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:21 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:21 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:21 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:21 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:21 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:21 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:21 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:21 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:45:21 ERROR SMAPI] An error occured in the base update loop: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
                        bei StardewValley.FarmAnimal.GetBoundingBox()
                        bei StardewValley.FarmAnimal.setRandomPosition(GameLocation location)
                        bei ButcherMod.animals.PregnancyController.addNewHatchedAnimal(String name) in K:\StardewValley\Projetos\ModsSolution\ButcherMod\animals\PregnancyController.cs:Zeile 227.
                        bei StardewValley.Menus.NamingMenu.textBoxEnter(TextBox sender)
                        bei StardewValley.Menus.NamingMenu.receiveLeftClick(Int32 x, Int32 y, Boolean playSound)
                        bei StardewValley.Game1.updateActiveMenu(GameTime gameTime)
                        bei StardewValley.Game1.Update(GameTime gameTime)
                        bei StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in C:\source\_Stardew\SMAPI\src\SMAPI\Framework\SGame.cs:Zeile 550.
                        [23:48:56 TRACE SMAPI] Disposing...

                         
                        • Digus

                          Digus Existential Complex

                          I'm looking into the problem but had not found it yet. I can't reproduce it.
                          I see you are playing the game in german right? I reproduced a birth with the german language and had no problem. But I have not tried every animal.
                          Which animal is supposed to give birth on your game?
                          One test you can do is try to set the game to english before loading you save to see if the problems still happen.

                          There is two error in the log and don't know if they are related.
                          The game is supposed to display a dialog saying the name of the animal that is giving birth and its type.
                          The first error happen when tying to display this dialog. As you described, it was not showed on your game. The error happen when the game try to get a short name for the type of the animal. That is why I'm asking which animals was supposed to give birth. This error is not critical and the only effect is the dialog not showing.
                          The second error happen when the game try to place the new animal on it's home. This one is critical and happen when you click the ok button. Since it does not place the animal, nothing happen and the game keep on this menu forever. The error will happen every time you click the ok button.

                          Until we solve this problem, you can disable pregnancy on the config file of the mod, so you can keep playing with the mod but without pregnancy.
                          You can also send me your save files and the 'data' folder that is inside the ButcherMod folder, to see if I can then reproduce the problem here.
                           
                          • Fleckihund

                            Fleckihund Aquatic Astronaut

                            Thank you for your reply!

                            I'm German, but I play this game in English and I think I just found the cause. Usually I keep many different skins for animals and change them so every animal doesn't look the same. I use Totally Tubular Toolkit for this, so I just changed the sheep back to default texture and it started working again. It displayed the dialog like you said and I was able to give it a name and click on "Ok".

                            So is there kind of fix or do I have to change it every time? :) The texture had a different name, it's "Eemie's Black Legs Sheep". Maybe the mod only recognizes the default name, so in that cause "sheep"?
                             
                            • Digus

                              Digus Existential Complex

                              That make sense to be the problem given the code I investigated.
                              I don't think there is much I can do. The code that is giving the problem is inside original game.
                              I think that if you have a random birth event, you will have the same problem. I copied most of my birth code from it.

                              Maybe if you change the texture names to something simpler, it can solve the problem. Something like "Blackleg Sheep".
                              I don't have access to the game code right now, but if I remember correct, it expects to have only one space in the English language. (Brown Cow, White Chicken,...), with the type being the last word. It has other assumptions for the other languages.

                              When I have time I will look into this further. Even if I can't solve it, I can at least write a warning in the mod's page to say pregnancy is not compatible with these textures changing.
                              Thanks for all the info.
                               
                              • Fleckihund

                                Fleckihund Aquatic Astronaut

                                No problem. I will try with only one space/easier name then.

                                It's odd though. I recently had another birth, in that case it was a cow with custom texture. (which does have a complicated name with even more spaces) I didn't get the dialog and SMAPI displayed the same error with UpdateTick, but this time I was able to click on "Ok" and proceed my day. So I went to the barn and the baby (default texture) is there. I don't know why it didn't work last time with sheep. It does seem pretty incompatible with custom textures, that's for sure.
                                 
                                • Digus

                                  Digus Existential Complex

                                  The problem with the ok is when finding a random spot on the new home. May be this time it did not "collided" with any other animal on the first try, so no error happen in the part of the code.
                                   
                                  • Digus

                                    Digus Existential Complex

                                    Status:
                                    Mod is updated and renamed.
                                    I will be working on the Feeding Basket next.
                                     
                                    • Yuka Code

                                      Yuka Code Aquatic Astronaut

                                      I don't see a meat wand. Help me
                                       
                                      • Digus

                                        Digus Existential Complex

                                        Did you enable softmode in the config file?
                                        Do you have a building with animal?

                                        If so and you still haven't received one, you can set a key in the config file to spawn it directly on your inventory.
                                         
                                        • Digus

                                          Digus Existential Complex

                                          Status:
                                          Found some time to work on the feeding animation, here is how it's looking:
                                          [​IMG]
                                          [​IMG]

                                          One problem I found is that animals only have feeding animation in one direction. I thought of making it for the other 3 directions, but them my mod would definitely not work with any animal skin mod, so I'm not doing that.
                                          Because of that, no matter from which direction you approach the animal, the basket will always be placed in front of the animal. I think it's looking OK. It's not like the game is super realistic of something.
                                           
                                            Last edited: Dec 26, 2017

                                          Share This Page