Tool SMAPI: Stardew Modding API

Discussion in 'Mods' started by ClxS, Mar 6, 2016.

Thread Status:
Not open for further replies.
  1. ClxS

    ClxS Pangalactic Porcupine

    The original plan was to phase out SMAPI once Storm matured and was capable of delivering all the features SMAPI allows. Unfortunately things haven't worked out that way and feedback seems to be that many still prefer the relatively simple SMAPI way of interfacing with things.
    The answer is mostly a solid "I don't know" for now. In the long term, I doubt either Storm or SMAPI will last, I expect both to be replaced with a more stable and mature API than either in the future.
     
      Superior_s likes this.
    • Superior_s

      Superior_s Sandwich Man

      Is setting up SMAPI and mods as simple as storm?
       
      • ClxS

        ClxS Pangalactic Porcupine

        Yep, they're pretty much exactly the same. StardewModdingAPI goes into the Stardew Valley directory and you run that instead of StardewValley.exe
        Mods are pretty much placed in the exact same plac. 0.37 mods are just placed in %AppData%/Stardew Valley/Mods/, where as the new format mods are placed in the same place in their own folder.
         
          Superior_s likes this.
        • Superior_s

          Superior_s Sandwich Man

          I may look into reinstalling Stardew and using SMAPI then.
           
          • xFishbone

            xFishbone Cosmic Narwhal

            are most .37x mods compatible with .38?
             
            • ClxS

              ClxS Pangalactic Porcupine

              Yep they should all be compatible. Only new things were added with nothing being taken away/changed.
               
              • ThatNorthernMonkey

                ThatNorthernMonkey Aquatic Astronaut

                CLxS, any plans to add a way to return early from events like Storm does?
                 
                • ClxS

                  ClxS Pangalactic Porcupine

                  Ah yes this is coming in the re-write that is currently progress. It wont be added to the core SMAPI for now since the way SMAPI currently works means it's not even possible, but it will in the future version.
                   
                    Superior_s likes this.
                  • keyten

                    keyten Cosmic Narwhal

                    Does Smapi have any function to interference with dialogues?
                    And can I somehow invoke functions from the game code or It was purely Storm feature?
                    And can I edit sprite size of Npcs with Smapi?
                     
                    • ClxS

                      ClxS Pangalactic Porcupine

                      It gives you direct access to game code, so as long as the function was declared as public, you'll be able to access it. The upcoming rework has the ability to change the access on all functions so everything is accessible, as well as making selected functions virtual.
                      As for the sprite size of the NPCs, I'm not too sure. How're you doing it in Storm?

                      No dialogue interface yet but I'd be happy to hear any ideas on how you'd like it to be implemented :)
                       
                        Last edited: Mar 21, 2016
                        Superior_s and keyten like this.
                      • keyten

                        keyten Cosmic Narwhal

                        I just, well, replaced one animated sprite of npc with another that has different height.
                        Well since I have direct access to game code I believe I can do everything I did in Storm.
                        I am kinda working on some project to add some dialogue interface using standard game methods. Looks promising. I think I will stick with Smapi since 97% functions are direct access to the code anyway, so, if Smapi have mosekeypressed event...


                         
                        • Drogean

                          Drogean Scruffy Nerf-Herder

                          can anyone explain why Storm is now dead/dying? What happened to the leadership?
                           
                            hihi427 and keyten like this.
                          • ClxS

                            ClxS Pangalactic Porcupine

                            I think the current way to check for a key-press is the register the Events.ControlEvents.OnMouseChanged event. That'll return the old and new MouseStates.
                            I'll add an event into the new version to listen just for a key press.
                             
                              keyten likes this.
                            • Kit Ballard

                              Kit Ballard Tentacle Wrangler

                              I haven't been around for a bit, but from my guess is they maybe getting fed up with everyone (the users/modders) doing the wrong thing and reporting the wrong stuff. Least, that's what I gathered when I was last here a bit back. They seemed pretty pissed about people reporting wrong versions and stuff.
                               
                              • Drogean

                                Drogean Scruffy Nerf-Herder

                                hmm... I can kinda see that

                                But honestly, the userbase is going to be stupid about getting the correct logs no matter which API they use.

                                I still have people on here and nexus asking for me to upload pictures of how my mods look because they literally don't scroll down the page
                                 
                                  Last edited: Mar 22, 2016
                                • hihi427

                                  hihi427 Tentacle Wrangler

                                  True story :)
                                   
                                    Drogean likes this.
                                  • Kit Ballard

                                    Kit Ballard Tentacle Wrangler

                                    *shrugs* I dono. CIxS and even Zoryn seemed to handle issues that came up in here (and old version) rather well.
                                     
                                      Superior_s likes this.
                                    • Zoryn4163

                                      Zoryn4163 Big Damn Hero

                                      Without going into details, a good portion of the community that accounts for the "major" mods all feel that Storm is not the way to go, and that, at least for now, SMAPI is the better choice. Once a true successor to it comes, I believe we'll all move over to it.
                                       
                                        Kit Ballard, Superior_s and Drogean like this.
                                      • Yunix

                                        Yunix Big Damn Hero

                                        I'm only still use SMAPI cuz most of my mods are SMAPI only and also it has a release that i can easy "install".
                                        Storm i dont get at all what point there are at now and if/how i could use it... also reading the thread of it feels
                                        like its just for dev's at the moment interessting to have a eye on it. I dont know.
                                        Im just happy that you guys keep SMAPI alive. Its the best we have at the moment.
                                         
                                        • ClxS

                                          ClxS Pangalactic Porcupine

                                          Just so I'm not completely silent over the coming weeks I'll occasionally drop a few sneak peaks at what I'm up to.
                                          So support for dependencies is now available in the FutureVersion, but what's more exciting is the injected virtual overrides is now working. These methods are only accessible to the API due to reasons which'll become clear once we get closer to release, but it allows the API to override any class in the game. This'll let us make a nice API to let people fully customize things which were awkward to access before like the UI tabs 'n stuff.
                                          Let me know if there's specific classes you'd really want to be able to override!

                                          To test it out, here's the test inbuilt mod-manager.

                                          ModUI.gif
                                           
                                          Thread Status:
                                          Not open for further replies.

                                          Share This Page