The Official compatibility slot indicates the compatibility of the original mod with the latest version of the game. So, broken for the Buff Framework mod indicates that aedenthorn's Buff Framework mod does not work with Stardew Valley 1.6.0+. Therefore, you should use my unofficial version.
I'm not sure what the root cause is, but there appears to be an issue with this. I've created two custom buffs that should only be applying when consuming their respective items, but the two buffs are also both applying when eating other consumables that I've not tied the buffs to. So far it seems to be happening with water-base forage (Seaweed, Green Algae, etc) and Strardrops.
This is just an example of what my code looks like. The buffs should only apply when consuming the item listed, but that is not the case: { "Action": "EditData", "Target": "aedenthorn.BuffFramework/dictionary", "Entries": { "{{ModID}}_ImmuniteaBuff": { "consume": "{{ModId}}_Immunitea", "duration": 600, "which": 28, "sheetIndex": 4, "source": "{{ModID}}_ImmuniteaBuff", "displaySource": "{{i18n:Alchemistry_ImmuniteaBuff.name}}", "description": "{{i18n:Alchemistry_ImmuniteaBuff.description}}" } } }
I've checked and it's actually a bug related to item categories. The issue has been fixed in the latest version (see release notes). Thanks for reporting it!
While using the updated buff framework, characters sometimes get teleported to the top left of the playground, stuck and unable to do anything. (Or at least the camera does, as using a noclip mod still doesnt get you anywhere) This happens after (skipping) cutscenes.
To get started with Stardew Valley modding, I strongly recommend reading this wiki page and joining the official Stardew Valley Discord. There is a channel on the Discord dedicated to modding, which is the best place to learn and get answers to your questions. Once you've learned the basics of modding, you can read this wiki page about adding/modifying buffs in version 1.6. I hope this helps!
Most of the time it works fine but a few times now this mod has gotten stuck in an error loop when trying to go to sleep preventing the day from saving.
[21:12:46 ERROR screen_0 Buff Framework] This mod failed in the GameLoop.DayEnding event. Technical details: NullReferenceException: Object reference not set to an instance of an object. at BuffFramework.ModEntry.Buff_OnRemoved_Patch.Postfix(Buff __instance) in /home/mouahrara/aedenthorn/BuffFramework/CodePatches.cs:line 47 at StardewValley.Buffs.BuffManager.Remove(String id) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Buffs\BuffManager.cs:line 238 at StardewValley.Buffs.BuffManager.Clear() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Buffs\BuffManager.cs:line 251 at BuffFramework.ModEntry.ClearAll() in /home/mouahrara/aedenthorn/BuffFramework/Methods.cs:line 956 at StardewModdingAPI.Framework.Events.ManagedEvent`1.Raise(TEventArgs args) in /home/pathoschild/git/SMAPI/src/SMAPI/Framework/Events/ManagedEvent.cs:line 101 [21:12:46 ERROR screen_0 SMAPI] An error occurred in the overridden update loop: NullReferenceException: Object reference not set to an instance of an object. at BuffFramework.ModEntry.Buff_OnRemoved_Patch.Postfix(Buff __instance) in /home/mouahrara/aedenthorn/BuffFramework/CodePatches.cs:line 47 at StardewValley.Buffs.BuffManager.Remove(String id) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Buffs\BuffManager.cs:line 238 at StardewValley.Buffs.BuffManager.Clear() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Buffs\BuffManager.cs:line 251 at StardewValley.Farmer.dayupdate(Int32 timeWentToSleep) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Farmer.cs:line 3126 at StardewValley.Game1._newDayAfterFade()+MoveNext() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Game1.cs:line 8565 at StardewValley.GameRunner.Update(GameTime gameTime) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\LocalMultiplayer.cs:line 838 at StardewModdingAPI.Framework.SCore.OnGameUpdating(GameTime gameTime, Action runGameUpdate) in /home/pathoschild/git/SMAPI/src/SMAPI/Framework/SCore.cs:line 580
No need, the setter already clamps the value and handles the Blessing of Energy. Here’s the source code: set { if (!hasBuff("statue_of_blessings_2") || !(value < stamina)) { stamina = Math.Min(MaxStamina, Math.Max(value, -16f)); } }
Hello, I'm not sure if this is the best place to ask, but do you know of any way to hide one specific vanilla buff icon (or all) from the HUD? For instance, I use a mod to always have the Speed Buff active so I can move faster, but I'm sick of the icon cluttering up the corner of my UI. I can't seem to find a mod for that so I'm hoping someone's mod has that feature built in and I overlooked it. Any help is appreciated.
Did you ever find anything for that? I just don't like buff icons being on screen in general, and now there are even more in game. I think you could probably edit a UI mod and cover up the buff icons in the image file, but I haven't tried it. It'd have to be done in a way that it doesn't just show you the vanilla version instead (I think this is done through the loading method in the content json). I'm sure someone knows how to do this.
So Aedenthorn has sadly retired from modding, but their mods don't have any permission restrictions so if anyone wants to make an up to date version of this (or any of aedenthorn's other mods) they are free to do so
Is there a way to be able to hover the mouse on buff to see their description when I have more than 4? It currently locks at a quarter through the 4th buff
57 comments
This is just an example of what my code looks like. The buffs should only apply when consuming the item listed, but that is not the case:
{
"Action": "EditData",
"Target": "aedenthorn.BuffFramework/dictionary",
"Entries": {
"{{ModID}}_ImmuniteaBuff": {
"consume": "{{ModId}}_Immunitea",
"duration": 600,
"which": 28,
"sheetIndex": 4,
"source": "{{ModID}}_ImmuniteaBuff",
"displaySource": "{{i18n:Alchemistry_ImmuniteaBuff.name}}",
"description": "{{i18n:Alchemistry_ImmuniteaBuff.description}}"
}
}
}
[21:12:46 ERROR screen_0 Buff Framework] This mod failed in the GameLoop.DayEnding event. Technical details:
NullReferenceException: Object reference not set to an instance of an object.
at BuffFramework.ModEntry.Buff_OnRemoved_Patch.Postfix(Buff __instance) in /home/mouahrara/aedenthorn/BuffFramework/CodePatches.cs:line 47
at StardewValley.Buffs.BuffManager.Remove(String id) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Buffs\BuffManager.cs:line 238
at StardewValley.Buffs.BuffManager.Clear() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Buffs\BuffManager.cs:line 251
at BuffFramework.ModEntry.ClearAll() in /home/mouahrara/aedenthorn/BuffFramework/Methods.cs:line 956
at StardewModdingAPI.Framework.Events.ManagedEvent`1.Raise(TEventArgs args) in /home/pathoschild/git/SMAPI/src/SMAPI/Framework/Events/ManagedEvent.cs:line 101
[21:12:46 ERROR screen_0 SMAPI] An error occurred in the overridden update loop: NullReferenceException: Object reference not set to an instance of an object.
at BuffFramework.ModEntry.Buff_OnRemoved_Patch.Postfix(Buff __instance) in /home/mouahrara/aedenthorn/BuffFramework/CodePatches.cs:line 47
at StardewValley.Buffs.BuffManager.Remove(String id) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Buffs\BuffManager.cs:line 238
at StardewValley.Buffs.BuffManager.Clear() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Buffs\BuffManager.cs:line 251
at StardewValley.Farmer.dayupdate(Int32 timeWentToSleep) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Farmer.cs:line 3126
at StardewValley.Game1._newDayAfterFade()+MoveNext() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Game1.cs:line 8565
at StardewValley.GameRunner.Update(GameTime gameTime) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\LocalMultiplayer.cs:line 838
at StardewModdingAPI.Framework.SCore.OnGameUpdating(GameTime gameTime, Action runGameUpdate) in /home/pathoschild/git/SMAPI/src/SMAPI/Framework/SCore.cs:line 580
set
{
if (!hasBuff("statue_of_blessings_2") || !(value < stamina))
{
stamina = Math.Min(MaxStamina, Math.Max(value, -16f));
}
}
### SMAPI Log Latest> ## [Click Link Log Here](https://smapi.io/log/535fafc8356547d0aa149ff963992e2c)### Current App Info> Game 1.6.15.0> Launcher 1.1.4 - 1735840517> SMAPI 4.1.10.3 - 1735840167
Any help is appreciated.