#making-mods-general

1 messages · Page 203 of 1

tawny ore
#

Or rather this

#

action AddBuff SlowPlayer ...

modern ether
#

ahh, i see

tawny ore
#

There might be a better way, I'm no even scripter so take anything I'm saying with a grain of salt

modern ether
#

i haven't dabbled in buffs/debuffs yet, would that require C# or can content patcher do it?

#

i dunno. like i'll do it if necessary but it seems like there has to be a better way

tawny ore
#

Content Patcher should be able to do it since there is a Data/Buffs

#

If one already has a slowness effect, you may be able to reuse it instead of creating a new one

modern ether
#

i think there is a slowness one, i'd just have to hunt it down

tawny ore
#

This one here has speed -2

#

Actually there's a few, so you can test any one of them out

lusty elm
modern ether
tawny ore
#

Ah darn, I was hoping that would work

modern ether
#

it does make her flash yellow though 🤣

tawny ore
#

Oh it looks like in the code it has a condition that prevents addedSpeed from being used in the calculation while an event is happening

modern ether
#

darn

#

i can slow npc down easily too which is the dumb part

tawny ore
#

Except for currentEvent.farmerAddedSpeed which is the command you asked about earlier

modern ether
#

yeah

tawny ore
#

I can't tell where in this code it prevents you from doing negative numbers. Does it do anything if you did something like -10 to make it more obvious?

modern ether
#

i'll check

tawny ore
#

Oh wait, negative probably just goes to 0
Math.Max(0, Game1.CurrentEvent.farmerAddedSpeed - 2)

modern ether
#

yeah it's just normal walking speed

#

wait hang on

#

its farmerAddedSpeed - 2?

#

that might mean it works the same as the speed npc command

tawny ore
#

In this one line of code, it looks like it's the larger of 0 or the added speed - 2. So if it's negative, it just gets set to 0.

modern ether
#

let me test something real quick and see if i've been dumb

teal bridge
#

Alright fam, took a couple of days longer than expected but here it is: Star Control 1.0 Alpha 1

Especially for @lucid iron, @acoustic summit and @tawny ore who expressed interest but of course open to everyone.

Please delete the old Radial Menu mod or move it off to the side somewhere before installing! Yes, that includes config.json, it's no longer compatible either.

It's going to take me a long time to write documentation, hard to even know where to start right now, but I think configuration and controls should be a lot more intuitive than they used to be, and in the meantime please ping me with any questions or bug reports.

GitHub

First alpha testing release for 1.0.
Full changelog and/or docs to come eventually, though this is almost a complete rewrite. Summary:

Configuration UI completely redone in Stardew UI
Every button...

#

And now I think I'm going to go crack open the whiskey.

modern ether
#

ok no i was wrong. i thought i figured it out but i didn't

modern ether
#

i thought that using 1 might slow the farmer down, and 3 be normal speed, but that's not correct

#

it only works like that for npcs

#

i dont get why the speed command has to work differently for npcs vs the farmer

teal bridge
#

I don't know what Buzz is saying in that clip. (Never saw the movie, believe it or not)

tawny ore
lusty elm
#

How hard would it be to make an Item that is unbreaking and when used, warps the player to a specific tile? rooThink

tawny ore
#

That doesn't sound very complicated to me (in C#). Not sure whether data models are flexible enough to support on their own.

teal bridge
#

Item properties are read in real time though, so the expectation is that if the sprite, title, etc. of a single "action" is subject to change depending on the situation, then the properties can just return new values, no invalidation required.

drowsy grove
#

Does anyone have a blank character sprite sheet I could use? I want to attempt to make my own character

tawny ore
#

Since Iconic Framework does allow mods to add or remove via the API. It's not used by any mod today, but if they did use it, I wouldn't have a way to continue supporting their actions.

quiet dock
#

can anyone help make an NPC?

teal bridge
# tawny ore Since Iconic Framework does allow mods to add or remove via the API. It's not us...

Yeah, I understand. But I really do not want to have items being unregistered. It's one thing if they aren't re-registered on a new game start, that has some plausible chain of causation to users, but having items simply disappear while the game is running is a big no-no.

What you can do is disable actions that aren't available anymore; the menu item interface has an Enabled property now (that's new). Which is roughly the same to a user as, for example, having a slot bound to an inventory item that's no longer in their inventory.

#

I'd rather you didn't try to use generic placeholder items as they're just mystery meat in any of the configuration screens. And having an item change to some other totally different item is the same problem as removing it.

rotund elm
#

Heyo, Is there possibly a way with CP to prevent another mod from altering the price of an object in your mod. For instance longevity messes with the price of my mods coins which should not be altered

lucid iron
#

no

rotund elm
#

oof, so either a compatibility patch or I could possible see if it is based on object categories

lucid iron
#

it'd depend on whether longevity offered you an out i think

#

assuming that's a C# mod

tawny ore
#

Partially, it depends on how the other mod does it's thing. You can make yours more final by loading the mod, and then doing a really late edit so that it is more likely to be after other mod edits.

#

C# mods can disregard all of that, but edits through the content pipeline are prioritized by their order.

#

If a mod goes out of it's way to ensure it has the final say, it would probably be better to see if the author is willing to do anything to play more nicely with yours.

rotund elm
#

Ok I'll probably reach out to him and see what I can do

#

Thank yall

teal bridge
#

I almost always load assets at low priority unless there's some really brittle code around them. I know it's tempting to assert "author's intent" but it's just not in concert with the whole modding ecosystem or ethos.

#

If somebody wants to tweak your mod in a way that you believe breaks the balance, well... how is that different from installing a mod that messes with vanilla balance, like CJB cheats?

tawny ore
#

I load exclusive, but edit as the default since I'll let others who have a usecase for earlier or later do whatever they need to do

lusty elm
#

stares at Modding Pages Yeah Pretty sure if I want to make my own version of the Return Wand, Its going to involve C#

lucid iron
#

i have an idea

#

use spacecore totems but mail the player a new totem every day

tawny ore
#

It might be nice if a Framework like Spacecore gave you the ability to perform arbitrary actions using objects

lusty elm
#

Ideally I want to Make a Wand [Unbreakable totem], that is only usable on select maps [My farm and the maps it adds], that takes you to a warp room, which will have drop off warps in select locations around the map (Cave Entrances and map exits really, that way it doesnt clutter up or take up map space.)

#

I've been looking around and I thought i had a solution without coding, but Trigger doesnt have a Warp result. which if it did i could have used Item Extentions to do it I think?

lusty elm
devout otter
teal bridge
#

Like the value determines which sprite gets drawn, or something?

latent mauve
#

It's the equivalent of storing your money as gold bars in your house rather than in coinage, from what I understand?

tawny ore
#

It seems odd if it's not already being taken care of since it seems like such an obvious action.

lusty elm
#

yeah i was suprised at how limited the base Trigger list is

tawny ore
#

It would genuinely surprise me if none of the zillion core mods doesn't have something like this.

uncut viper
#

do you just mean theres no Warp action?

#

i wasnt sure what you meant at first by "trigger doesnt have a warp result"

tawny ore
#

Use an item (without consuming) to warp

calm nebula
#

Spacecore has it

#

Next question

lusty elm
#

it has the without consuming? Ideally id also like to add conditionals

tawny ore
#

Spacecore always has it

calm nebula
#

I believe so

uncut viper
#

it has TotemWarp but its not conditional

#

it also has UseForTriggerAction but that wont include warp totem effects

tawny ore
#

Yup, you're right. ConsumedOnUse can be false

#

And can't the extension data technically be conditional if you're patching them in via CP

#

If you're only depending on location conditions, then it can update on warp

uncut viper
#

i mean i guess it depends on whatk inds of conditions

lusty elm
#

oh, somehow i completely skipped over that line, im freaking blind.
its location conditions, i only want it usable on certain maps

#

my eyes magnetted onto the ConsumeForTriggerAction instead.
Yeah your suggestions can make it work i think, conditional edits to the totem item rooThink

uncut viper
#

not to the item

#

to spacechase0.SpaceCore/ObjectExtensionData

lusty elm
#

so i'm editing the extension attached to the object, instead of the base that i'll be adding.

devout otter
#

I am tinkering and peering at Button's BETAS documentation in an attempt to make a fake NPC with portrait able to be talked to multiple times with different dialogue. I want to make sure make logic is right.

#

First I set a key with value with Spiderbuttons.BETAS_WritePlayerModData. Then I do Spiderbuttons.BETAS_DialogueBox depending on whether I have that key or not. I should also make this dialogue box change the key value. Afterwards I link a new dialogue to the new key value with Spiderbuttons.BETAS_PlayerModData token? Then when all the dialogue happens I should flush it all with Spiderbuttons.BETAS_RemovePlayerModData?

#

Am I on the right track here or completely off?

uncut viper
#

i think that sounds on track

devout otter
#

That's a relief! Then all's left is to figure out how to put all of them in.

#

If I put Spiderbuttons.BETAS_DialogueBox as a map action TileData, how do I make that conditionally fire?

uncut viper
#

you can use the Spiderbuttons.BETAS_Action map action instead to do an If action

#

Spiderbuttons.BETAS_Action If Spiderbuttons.BETAS_PLAYER_HAS_MOD_DATA whatever ## Spiderbuttons.BETAS_DialogueBox stuff

devout otter
#

Something like this?

uncut viper
#

it should still just be Action as the propery key

#

that way vanilla still finds it

devout otter
#

Aaah alright!

uncut viper
#

like Action OpenShop except its Action Spiderbuttons.BETAS_Action

#

with everything after that being the string you want to use as an action

#

(its a bit confusing i know i was workin with what ive got)

devout otter
#

Yar once you know the working example it should be smooth sailing, I think!

#

And can I put Spiderbuttons.BETAS_WritePlayerModData in the i18n, then? So that every dialogue would incrementally add the value?

uncut viper
#

im not 100% sure i know what you mean, could you give an example?

tiny zealot
#

i18n is just a string storage/retrieval system, so as long as it ends up in a place where the game will act on it correctly, you can put whatever you want in your i18n

devout otter
#

So I was thinking something like {{i18n: Pirate.[Spiderbuttons.BETAS_PlayerModData PirateDialogue]}} would call for Pirate.1 in the i18n file (whereas 1 is the value I've set beforehand).

uncut viper
#

Content Patcher won't parse a Tokenizable String

devout otter
#

Nuuu.

uncut viper
#

anything inside {{ }} is a content patcher token that CP will read first before the game ever knows about it

#

and replace it with some text

#

you can load your i18n to an asset though and then just use [LocalizedText]

#

same way you might Load a dialogue file directly

#

you can just load arbitrary string to string dictionaries (such as an i18n file)

devout otter
#

Okay, so I can do something like [LocalizedText Strings\Pirate.[Spiderbuttons.BETAS_PlayerModData PirateDialogue]]?

uncut viper
#

should work

#

or well

#

Strings\AssetName:Pirate.[Spiderbuttons.BETAS_PlayerModData PirateDialogue]

#

it might be better to do just that, actually, and not use LocalizedText

#

since the DialogueBox action will also load it if you pass in a translation key like that

devout otter
#

Ah yeah.

uncut viper
#

and that way you dont have to worry about quotes or anything

#

or spaces

#

you also dont have to Load it to Strings either btw you can load it wherever

devout otter
#

And then in the Strings/Pirate.1 entry I do something like "{{I18n:Pirate.1}}# Spiderbuttons.BETAS_WritePlayerModData PirateDialogue 2"To move to the next dialogue next time?

uncut viper
#

should work i think!

devout otter
#

Alright! All's left is to test it. Thank you!

uncut viper
#

as long as you do get the asset name thing right

#

since it wont be Strings/Pirate.1 as Pirate.1 is an entry inside the asset

#

Strings/Pirate.1 would be equivalent to writing Characters/Dialogue/resort_Leaving

devout otter
#

Ah yes of course.

#

Wait...

uncut viper
#

whereas Strings/YourAssetName:Pirate.1 is equivalent to Characters/Dialogue/Haley:resort_Leaving

#

if you're not loading your i18n files directly to the asset you will need to load a blank too

devout otter
#

Something like this in the TileData would work then? Spiderbuttons.BETAS_Action If Spiderbuttons.BETAS_PLAYER_HAS_MOD_DATA PirateDialogue ## Spiderbuttons.BETAS_DialogueBox Characters\Dialogue\CSNPCs:Pirate.[Spiderbuttons.BETAS_PlayerModData PirateDialogue] Portraits/Pirate

uncut viper
#

it should work

#

if it doesnt work then ping me SDVpufferchicksweatsip

devout otter
#

Alright! Thanks again!

teal bridge
#

Asking here since I'm kind of stumped - does any know of any situations where IContentHelper.Load would simply not invoke AssetRequested handlers? I've double, triple, octuple-checked and it is simply being ignored in some specific cases (in this case, has something to do with non-English locale).

brave fable
#

at the risk of a stupid/obvious answer, has the asset been invalidated, and is the requested event emitted on cached asset loads?

tiny zealot
#

sounds like cache to me, yeah

lucid iron
#

does e.NameWithoutLocale make difference think

teal bridge
#

It does seem to be cache related somehow, but in a very strange way, i.e. it tries and fails to load the localized asset and then gets the cached failure instead falling back to default locale. Again, in this specific instance, not normally.

#

I'm sure I'm misreading but... is this a bug in SMAPI?

try
{
    T data = this.LoadExact<T>(localizedName, useCache: useCache);
    localizedAssetNames[assetName.Name] = localizedName.Name;
    return data;
}
catch (ContentLoadException)
{
    localizedName = new AssetName(assetName.BaseName + "_international", null, null);
    try
    {
        T data = this.LoadExact<T>(localizedName, useCache: useCache);
        localizedAssetNames[assetName.Name] = localizedName.Name;
        return data;
    }
    catch (ContentLoadException)
    {
        localizedAssetNames[assetName.Name] = assetName.Name;
    }
}

This is in LoadLocalized, and specifically I'm looking at the last line, in the last ContentLoadException. If it fails to load the localized name, and it also fails to load the international name, then shouldn't it fall back on the base name instead of assetName.Name?

It's really hard to step through this method, seems like I'm going to have to pull SMAPI source and debug that to be sure, but I can't figure out where it finally falls back to the English/default asset when no localized assets exist.

#

Also holy hell, GetMachineData gets called a lot and does an asset load every single time. That's gotta be slowing the game down.

daring skiff
#

Sorry to interrupt with a noob question. I'm using Content Patcher to replace SVE Rasmodia's portraits with seasonal ones. That works fine, but when I enable Seasonal Outfits - Slightly Cuter Aesthetic, it takes priority. I assumed priority worked by setting a mod as a dependency in manifest.json.

#

Can't really find any good examples on Nexus to steal. Anyone have experience with this or examples to point me to?

drowsy pewter
#

it exists in two places if you're playing with SVE, cant remember where the other place is though

#

maybe just under the SVE config, so you might have that convered already

tiny zealot
drowsy pewter
#

Yes but in this case i wouldnt recommend changing priorities or load order because that might not fully fix the problem. Because we use appearances now it's entirely possible for a mod like SCA to add new appearances that are not fully replaced by a seasonal mod on top of that

slender badger
drowsy pewter
#

Thanks Airyn!

tiny zealot
slender badger
#

Although SCA automatically disables all the SVE-affected characters if SVE is installed, so it should only need to be changed in SCA for SVE

devout otter
#

Yippee.

#

(Is there a way to give the display name spacing, Button?)

uncut viper
#

it might work if you put it in quotes

devout otter
#

Yep, that did it. SDVpufferthumbsup

uncut viper
#

oh thank yoba

rigid oriole
#

would alex say "beef" like "to have beef with someone"

calm nebula
#

Yes

rigid oriole
#

thanks

calm nebula
#

Think of the most gymbro of gymbro

#

Alex will talk that way

rigid oriole
#

i'm in his dialogue file right now and he talks about situps soooo much

#

i don't talk to him much in game but holy 😭

#

i think in the enemies route he just constantly tells you he can do more situps than you

calm nebula
#

It's "Refeeds" and "one rep max" and "creatine"

tiny zealot
#

doesn't he literally mention "gains", or did i invent that (he totally would)

calm nebula
#

Oh that is a challenge, Alex

#

(Disclaimer: I am calling myself out.)

teal bridge
calm nebula
#

(I am the gymbro of the nerds.)

daring skiff
daring skiff
teal bridge
# rigid oriole i'm in his dialogue file right now and he talks about situps soooo much

This is more like how noodlearms think that gymbros talk than how gymbros actually talk. Sort of like how every time you see a scene of someone working out in a video game, they're doing bicep curls and nothing but bicep curls.
(I'll give CA credit, pretty sure one of Alex's cutscenes actually had him doing cleans.)
((Although doing cleans in a regular room with a carpeted/hardwood floor is actually a really bad idea.))

slender badger
daring skiff
#

No, I'm shooting everyone a message on Nexus once I'm finished.

#

Appreciate the check though.

rigid oriole
#

Do the response IDs for dialogue questions $q 54/55 ..... have to be integers? I've currently just picked a random high number to be my initial one and then I increment it when I need a new one, but this seems a bit hacky and could technically conflict if someone else really liked the number 2275390

#

actualy that number might be too big for whatever type stores it...

calm nebula
#

No

#

Does not need to be an integral anymore

rigid oriole
#

oh good i was hoping that was one of the things that changed

uncut viper
#

does that mean it can be fractional

#

what about irrational

thin plover
#

Hi. I moved the minecart on the BusStop map and added TileData to trigger its interaction in the new location. Can anyone point me in the direction of how to update where the minecart warps the player when it delivers them to the BusStop? Tried the DefaultWarpLocation map property, and that didn't seem to work...Haven't been able to reverse engineer it from any minecart mods either (yet).

opaque cobalt
#

what is the best way to check what sprites are in events? Finally getting around to giving Kent a dress uniform for weddings like events (Dress Blues always look snazzy). If I've asked before, I apologize, I do sometimes have a memory that is shorter than a goldfishes

turbid grotto
#

I think its just their normal sprite

#

and you add a condition like a when statement to change it for festivals and stuff

dusk mulch
#

What is the item ID for dried powdermelon? I cant find it in the spreadsheet.

uncut viper
#

why not just look in your unpack

drowsy pewter
#

all dried fruit have the id DriedFruit

dusk mulch
lucid iron
#

well stop being lazy

dusk mulch
#

impossible

lucid iron
#

ctrl+f is free

uncut viper
#

i mean. in this case it was a different answer anyway. but otherwise that is literally just asking other people to do your work for you

dusk mulch
#

SDVitemblobfish hm.

calm nebula
#

Hey button can you finish the rest of this run for me

uncut viper
#

run of what

calm nebula
#

And do my... I'm being told tomorrow is a rest day

#

Do my rest day for me tomorrow

uncut viper
#

wouldnt that give you more work

calm nebula
uncut viper
#

ill take a rain check

pine elbow
#

can someone help me with a error i im having while making a seasonal outfits mod? i literally did everything to try to fix it but it still doesnt function SDVpufferwaaah

drowsy pewter
#

you should share the error when asking a question

pine elbow
#

i post a photo or the json?

uncut viper
#

!log

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

uncut viper
#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

acoustic summit
#

beat me to it :p

uncut viper
#

use the links in these two commands to share both your log and your content.json (or 3whatever other json file is relevant)

devout otter
#

@uncut viper , unfortunately Spiderbuttons.BETAS_Action If Spiderbuttons.BETAS_PLAYER_MOD_DATA Current RacerGuyDialogue ## Spiderbuttons.BETAS_DialogueBox "Racer Guy" Mods\CentralStation\Tourists:RacerGuy.[Spiderbuttons.BETAS_PlayerModData RacerGuyDialogue] Portraits/DesertTrader_RacerGuy doesn't work .

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 8 C# mods and 1 content packs.

uncut viper
#

hmm

devout otter
#

I tested [Spiderbuttons.BETAS_PlayerModData RacerGuyDialogue] on its own and it does properly output 1, so mayhaps its just the format in the tile property that's wrong.

uncut viper
#

lemme do some testing rq

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 16 C# mods and 13 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

tender bloom
#

hard to tell but what are the chances you're hitting the 256 character filepath limit?

#

i'm assuming this is only some of the images?

pine elbow
#

waiit what is that?

tender bloom
#

it's a super fun (super annoying) feature of windows

pine elbow
#

like a limit of space?

tender bloom
#

back in the old days, it was actually impossible, but these days it's an artificial limit for backwards compatibility

#

but bascially if you nest folders too deep, windows stops believing in the existence of the files in some cases

#

seasonal outfits\assets\Portraits\Undare_Brandon_summer.png is fairly long, and the stardew modding folder default location is already pretty long

#

which is what triggers my spidey senses here

#

it might not be the issue, but it's worth checking

pine elbow
tender bloom
#

the other question is whether this is all the images or just some

#

if it's just some, then figure out what the difference is between a working one and a broken one

#

ideally there will be some that are very similar to compare

tender bloom
#

ah...then it's probably a more fundamental problem

#

you'll need to share your json file and some details about how you structured your images in folders

lucid iron
#

rmbr to turn on file extensions

uncut viper
#

so

Spiderbuttons.BETAS_Action If Spiderbuttons.BETAS_PLAYER_MOD_DATA Current RacerGuyDialogue ## Spiderbuttons.BETAS_DialogueBox \"Racer Guy\" \"Mods\\CentralStation\\Tourists:RacerGuy.[Spiderbuttons.BETAS_PlayerModData RacerGuyDialogue]\""
#

oh that looks ugly

pine elbow
uncut viper
#

i forgot that since If is a vanilla action, it doesnt know to even look for tokens, and so it splits it at the space between PlayerModData and RacerGuyDialogue

devout otter
#

Aa so the syntax probably thought RacerGuyDialogue] is a portrait asset.

uncut viper
#

yup, exactly

tender bloom
#

probably best to drop it here

uncut viper
#

(half of this channels purpose is helping people with their modding issues and bugs)

midnight sand
#

Question about ILCode:

I'm reading a string field and comparing it to a string I provide

I saved a String before with

new CodeInstruction(OpCodes.Ldstr, "Test"),
new CodeInstruction(OpCodes.Stloc_s, 10)

Then I want to compare it with

...
new CodeInstruction(OpCodes.Ldloc_S, 10), //Is "Test" here in theory
new CodeInstruction(OpCodes.Ldstr, "Test"),
new CodeInstruction(OpCodes.Call, stringCompareInfo)
...

with stringCompareInfo calling a function that is

internal void CompareStrings(string str1, string str2) {
    return str1.Equals(str2);
}

But it always returns false, but when I change it to

return (str1.Trim()).Equals(str2);

It works.
Why is the Trim() here needed if I inserted it without spaces or anything?

devout otter
#
      "LogName": "Seasonal Portraits - Appearance Load",
      "Action": "Load",
      "Target": "Portraits/Undare_Brandon_Spring",
      "FromFile": "seasonal outfits/assets/Portraits/Undare_Brandon_Spring.png"
    },``` etc
pine elbow
devout otter
#

Also a screenshot of the contents of your Portraits folder would also be helpful!

midnight sand
#

Fixed

devout otter
#

This trigger action"RacerGuy.1": "{{i18n: tourist.desert-racer-man.1}}# Spiderbuttons.BETAS_WritePlayerModData RacerGuyDialogue 2", Doesn't seem to be firing.

calm nebula
devout otter
#

I do it like this and quite unsure if it's actually correct { "Action": "EditData", "Target": "Mods/CentralStation/Tourists", "Entries": { "RacerGuy.1": "{{i18n: tourist.desert-racer-man.1}}# Spiderbuttons.BETAS_WritePlayerModData RacerGuyDialogue 2", "RacerGuy.2": "{{i18n: tourist.desert-racer-man.2}}# Spiderbuttons.BETAS_RemovePlayerModData RacerGuyDialogue", } },

gentle pebble
#

Hey so im trying to research how to make cut scenes for heart events and honestly there doesnt seem to be alot of information on it. Does anyone know of a good location I looked on the stardew wiki and it didnt say too much.

calm nebula
#

Or change the call to a callvirr

ocean sailBOT
#
So you wanna make events?

The modding wiki Events category has multiple tutorials, guides, and tips from event masters like Arknir, Aviroen, SMC and more!

If any more are made, feel free to add them into this command!

rigid oriole
#

The events for everyone tutorial is very in-depth

Stardew Modding Wiki

This guide attempts to provide a more in-depth explanation to modding events as a reference for both beginners and experts.

gentle pebble
#

amazing should have known to do that by now

uncut viper
gentle pebble
#

The governor is so convenient

midnight sand
#

op_equality is == no?
It says false anyways

with callvirt it also says false

only adding the Trim() works

devout otter
gentle pebble
#

I was looking through and had a quick question

#

So to confirm you can not date a npc created only marry?

midnight sand
#

Checking it with char it is adding a space at the end for some reason? I'll check the code I'm modifying, maybe a space is added somewhere

pine elbow
pine elbow
tribal ore
#

Ummmmm... I want to set an event in a vanilla location that doesn't have a corresponding .json file?

#

BathHouse_Entry and BathHouse_MensLocker are both maps, but the only .json file in Data/Events is Bathhouse_Pool

#

I've only done Load actions for Events, like this:

    "Action": "EditData",
    "Target": "Data/Events/BathHouse_Pool", -- corresponds to the Beach.json file
    "Entries": {
     }
}```
#

Would a Load action work here instead?

#

... In a pinch I guess I could start the event at the Railroad and do a changeLocation, but I would really prefer not to take control away from the player until they are actually in the BathHouse :/

uncut viper
#

load a blank.json

#

with Low priority

rigid musk
#

pondering how do you add your own context tags for furniture and stuff ... do you just list them at the end of the furniture and it counts as its own tag?

uncut viper
#

same way you'd load a blank.json for a dialogue file

tribal ore
#

So I don't know how, sorry

rigid musk
#
        "Action": "Load",
        "Target": "Data/Events/SkullCave",
        "FromFile": "data/blank.json",
        "Priority": "Low"
        },```
#

something like this :3

uncut viper
#

inside the blank.json is literally just {}

#

thats the entire file

rigid musk
#

(you also need a json called 'blank.json' in your files for it to load to -with the afformentioned format from Button)

uncut viper
#

i mean, you CAN put event data in the file, but tokens wont work

tribal ore
#

Alright, I'll give that a try. And this will figure out how to link the vanilla map location if I do it that way?

uncut viper
#

also if someone loads a blank there with a higher priority yours wont

#

so you Shouldnt put the event data directly in there. but you technically could

#

making the asset name match a vanilla location just like you would for any other map that does have events will automatically make events work there

#

you load the blank and then do EditData on it afterwards

rigid musk
#

(also make sure to make an include for your blank.json)

uncut viper
#

you dont need an Include you can do it just in the content.json

#

or wherever else you're doing the EditData for the event

#

it doesnt need its own separate include

rigid musk
#

I thought you had to load it pondering

uncut viper
#

Load, yes, Include, no

rigid musk
#

huh ... I dunno I mean what I did worked so B) I'm just going to pretend I did things right and hope that I did not, in fact, do them wrong

uncut viper
#

i am talking about "Action": "Include"

rigid musk
#

considering Qi works in my game I would have to wager a guess I might just be getting terminology mixed up again as im apt to do

tribal ore
#

Alright, so I only need an entry for my existing Events.json if I put the load in there? I don't have to mess with my content.json?

rigid musk
uncut viper
#

somewhere in your mod you need to Load a blank.json for the map you want events in if it does not exist already

uncut viper
rigid musk
#

Or did I do that because now i cant see it in my includes

uncut viper
#

includes are entirely organizational. if you want you can put all your blank.json loads inside their own include. but you dont have to

rigid musk
#

(I do know you can put all of your stuff in the content json, i dont do that for organization purposes)

#

heehoo

tribal ore
#

Alright... Not 100% clear, but I'm going to try what I think I understood and see if things break

rigid musk
#

looks like i did not, in fact, do an include for the blank.json (but i did load things to it)

rigid musk
rigid musk
uncut viper
#

you can pretty much copy Lily's snippet up there entirely but replace SkullCave with BathHouse_Entry or whatever

rigid musk
#

^

tribal ore
#

Omigosh, it worked!!!

#

Thank you both so much 😄

thin plover
remote radish
#

I am making a custom farm map. How do I reference the image, that is in the TerrainFeatures when unpacked, or should I move the image to my map folder? I want to use the stone walkway in my map.

lucid iron
#

you have 2 options i think

#

this mod just let you get tilesheets not in Maps

#

the othe option is spacecore spawning to put actual stone walkways on your map

tribal ore
#

Also, holy crap my custom audio is playing in an event and I am cooking today

#

Just needed to celebrate xD It's been an all day thing for me

rigid musk
gentle rose
#

hey smart modding people, how multi-threaded is stardew? I kind of assumed it was relatively single-threaded SDVpufferthinkblob

uncut viper
#

very not

gentle rose
#

yeah, figures

#

how likely do we think it is to max out usage on 2 cores SDVpufferthinkblob

uncut viper
#

how hard are you trying

gentle rose
#

mid-level hard I think

uncut viper
#

ah, well in that case, I can confidently say that i don't know

lucid iron
#

u can thread if u want

uncut viper
#

i don't have the smarts to comment in this area further

lucid iron
#

theres just not a lot of useful things u can do cus drawing and reading content pipeline are both hard banned

unkempt beacon
#

Is it appropriate for me to ask here if someone could convert a .xnb to a .json for me?

ocean sailBOT
#

Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!

gentle rose
#

this is how you get them converted. iirc there’s also a website that does individual ones

uncut viper
#

dont think you'd be very allowed to just send an xnb from the game in here as that would be redistributing the games files

#

just a guess

gentle rose
#

that was my guess too

unkempt beacon
#

Thank you everyone!

final arch
#

pinning it to a particular core in the task manager fixes that

rancid musk
#

Windows' scheduler sure is fun and good

gentle rose
shut edge
#

attempting to learn to do config options

#

how would i change what an animal produces by config?

#

like can i use the condition field or will i need a whole new animal block with whens on both?

mighty ginkgo
#

you could use a dynamic token that contains the produce string/other value that needs to change and that changes value depending on the config value probably

#

really depends on what needs to change in the patch

shut edge
#

here's where i'm at now

#

really just need to change the line 65 produce bit

#

have not tested it at all yet tho

mighty ginkgo
#

line 65? it shows "MinimumFriendship": 0, to me

shut edge
#

that produce block

#

just want to toggle between two item choices for these to make

mighty ginkgo
#

ah okay. then i think you could use a dynamic token, say call it Produce, and change its value based on the config option. so you'd have a "ItemID": "{{Produce}}" instead of "ItemID": "{{ModId}}_GumdropCandy" and so on

shut edge
#

ok, thank you

#

have not done those yet

#

i'll read up

shut edge
#

anyone having issues with the captcha for loggin in to nexus?

vernal rain
#

hey does anyone know what should i name the lewis statue for at? ><

abstract pine
woeful lintel
#

should be fixed now

shut edge
#

Thanks for the assist, Kristian

abstract pine
woeful lintel
#

those are already in the mod!

rigid musk
#

How do you put images in the description of your mod page? pondering

woeful lintel
#

I just have hyperlinks to images and gifs on my github repo

twin blade
#

hey yall i have this one thing i want in stardew valley and dont know if it even is possible, so might aswell ask here since the smart people type here. is there a way to stop grass from spreading and stop trees from dropping seeds to the ground around them?
surely there is something you can tweak in the files to make it stop?

blissful panther
#

(...wait, I now realise you mean the preview Discord pulls. Nevermind, ignore me. SDVkrobusgiggle )

rigid musk
#

It won't let me add any images though, they all show up as little file things

blissful panther
#

That definitely should work!

latent mauve
#

Just to be absolutely clear: you have to have the images hosted somewhere first (like imgur)

#

Also don't use discord image links because those break after 24 hours now D:

rigid musk
blissful panther
#

It'll also have to be the direct direct link to the image ending with .jpg or .png or whatever it is. Not just the link to the Imgur page.

#

That might be the problem!

rigid musk
#

O: let me try that thank you

woeful lintel
#

are you entering a link to an image?

#

oh sorry, discord didn't scroll

mighty ginkgo
rigid musk
#

It worked thank you guys :D

winter dust
#

Are there any listed guides for custom clothing? I don't see any sprite guides.

lucid iron
#

Like non fashion sense right

winter dust
#

Like, Garden Village used a massive sprite for pants with JsonAssets.

#

I wanna know if that's still necessary.

twin blade
fossil osprey
#

Pants are cursed

winter dust
#

Can we classify Pants as eldritch beings in disguise on the wiki?

fossil osprey
#

yes

lucid iron
winter dust
little prairie
#

hello im trying to convert PMF mod to a CP mod is there any documentation on that?

winter dust
#

Did you mean PFM? Producer Framework Mod?

unreal spoke
#

!converters
I’m pretty sure there’s a PFM -> CP one in there.

winter dust
#

There isn't.

unreal spoke
#

… or not.

winter dust
#

If you search up converters in discord search you'll see one of those outputs in the search entries and yeah, it's not there.

lucid iron
#

How you convert depends on what rules it got

vernal crest
#

So far I've learned to convert one thing to CP (it's AT) and I learned by just figuring out how to make the thing in CP and then looking at the other thing and pulling over the bits that matched up.

#

Easier than learning how to use a converter imo lol

#

Mostly because the converters all seem to be python and I haven't looked at python in nearly four years now.

hard fern
#

Honestly i get a little annoyed by the converters bc i like to do everything a certain way 😅

calm nebula
#

🐍

hard fern
#

My perfectly organized folders, now thrown into chaos..

mighty ginkgo
# twin blade ive never modded anything so im completely clueless... is there a video to follo...

i don't know if there's a video, but i guess the content.json file would look something like this { "Format": "2.5.0", "Changes": [ { "Action": "EditMap", "Target": "Maps/MapNameHere", "MapProperties": { "EnableGrassSpread": null } }, ] }. you'd still need some work to make it a working Content Patcher content pack, there are probably tutorials around but i'm not sure where. however here is the wiki page for introduction to content patcher https://stardewvalleywiki.com/Modding:Content_Patcher

signal needle
#

@ivory plume Have you seen this? #1337337589983744051 I'm not sure if it's an issue with SMAPI or with SDV, but I suspect it's due to a glibc update around that time. I'm not sure anything fancier needs doing than rebuilding on that version

ivory plume
#

Yep. I'm not the one who'd usually look into multiplayer issues like that, but it's being discussed internally.

proud wyvern
#

what is up with that glibc update, how did someone let that version out, breaking so much software

#

i've also heard MonoMod/Harmony was affected

signal needle
#

It's not a bad update per say, it's the nature of glibc, this happens everytime they update. So much stuff is linked against it that when they make changes something somewhere is relying on it

little prairie
#

Thank you all for trying to help I’ll see what I can do to do it on my own thank you again

astral prism
#

ugh oml i still can't figure this out

#

so i want to add dialogue to the end of EVERY NPC's daily dialogue

#

how on earth can i do that

#

cause CurrentDialogue is a stack, not a queue or list

blissful panther
#

Could maybe try the asset pipeline's editing functionality?

#

Edit each dialogue data as it's loaded and just slap whatever you need on the end of each dialogue key value?

#

Doesn't feel like the least fragile way, though...

astral prism
#

hm

#

potentially

#

i think i might try like

#

check every tick if the CurrentDialogue is null (meaning all dialogue has been exhausted) and if it is just slap mine on

reef kiln
#

If two mods edit the same map, can I make a TMX that combine the two maps then replace one in one of the folders and just delete the other from the 2nd mod? So both mods can run together? Or is it more complicated then that?

#

Right now neither map loads as SMAPI throws an error

devout otter
#

You'd want to add a Priority field to the map Loads in both mods.

reef kiln
#

I think they have one already, that is the SMAPI error. Both have priority exclusive. So neither loads

ivory plume
#

Each asset can only have one initial version loaded. The Priority field lets SMAPI / Content Patcher pick one (unless they're both exclusive), but it won't let you somehow load both versions simultaneously.

So your options are:

  • Manually merge the maps yourself as you suggested.
  • Ask the authors to use EditMap if possible, instead of loading the entire map.
brittle ledge
#

@royal stump Hi Esca, I'm still experiencing issues with my FTM-spawned machines despawning overnight. I've tried setting DaysUntilSpawnsExpire to null and 0 and neither are consistently sticking. Should I try an absurdly high number like 9999 to get it to stick?

tribal ore
brittle ledge
reef kiln
unique sigil
#

tia it's weird that that issue still exists, because it definitely doesnt on mine

#

though it could be because i directly edited your FTM files while looking for the solution, instead of downloading the version you uploaded on nexus SDVpufferthink

tribal ore
#

.Choose Letters Events Map Dialogue

patent lanceBOT
#

Choose result: Letters Events Map Dialogue

tribal ore
#

Hmmm

unique sigil
tribal ore
#

.Choose Letters, Events, Map, Dialogue?

patent lanceBOT
#

Choose result: Map

tribal ore
calm nebula
#

Morning, Pathos!

tribal ore
#

Going to do it all! Just... need to do one today

gentle rose
#

discorddddd why do you do this to me

ivory plume
brittle ledge
royal stump
# brittle ledge <@125370989780533248> Hi Esca, I'm still experiencing issues with my FTM-spawned...

Any of those options should prevent despawning, but if you want a machine's state to persist, use null. 0 will make it last forever, but any number will cause objects to despawn overnight (and/or during quicksaves) and reappear afterward, without contents/etc being saved. null just means FTM won't touch it anymore after spawning, so it should just stay there unless some other game mechanic removes it. SDVpufferthinkblob

#

if you have a link or upload, I can try it out and see if it's having an issue, but in theory it shouldn't just disappear either way

brittle ledge
#

I originally had it as null but I got reports it was despawning, and it did in my testing as well.

royal stump
#

can you describe how you tested it when it despawned? it's persisting as-is through several days on a new save, at least

unique sigil
# royal stump can you describe how you tested it when it despawned? it's persisting as-is thro...

okay so the initial despawning happened on my save, when LFL was first out. i installed it midway through a save. the LFL spawned correctly, but i did not use it on the day i loaded the save after the mod was installed. the next day, the LFL despawned. i thought it was because there's a schedule for it to appear, but days pass and it's still gone

so i went into the files, set LimitedNumberofSpawns to 2, and DaysUntilSpawnExpire to 0 instead of null. upon loading the save, the LFL respawned, and has not despawned. but tia is still getting reports of it despawning after my suggestion to change DaysUntilSpawnExpire to 0 in the fix.

#

i also had some initial suspicions that it might have despawned due to SVE's town map edits, but i checked the map files and the tile the LFL spawns in is blank.

royal stump
#

SDVpufferheart Thanks, I'll keep poking around. I just found an issue where it's not restoring the "can be picked up" flag correctly for some reason, so I may need to fix a few things...

unique sigil
#

oh yeah, i'd like to add that after making those changes, i specifically waited until one in game day has passed without using the LFL (because the first despawning happened after i didnt use it) to see if it despawns or not

hallow prism
#

writing a letter for Central Station support and having fun :
Reach your destination in no time with our company!

stoic maple
#

hii im struggling with a small mod im working on, and i cant find any way to fix it

cyan herald
#

what mod is it?

stoic maple
#

its one where im trying to add deatils on alex

#

its a really small project because im just starting in modding

cyan herald
#

i don’t think i can help, i mistook your question and thought you needed an already made mod to work sorry but someone here probably could

stoic maple
#

aaa yeah sorry i should have explained better

#

tho i used a mod to look at the content files and copied past most of the stuff i needed

#

but i dont get anything bc i basically never used coding

#

the issue is that i modified some of the characters images and smappy says the mods works

#

but i the game when i launch it alex is the exact same without my modifications

rare orbit
#

hey! anyone willing to test out a mod im trying to make? it's a simple replacer mod for sebastian's beach sprite

tiny zealot
ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

stoic maple
wanton pebble
#

You did. Still probably need the log if it isn't showing up

stoic maple
#

the log?

#

sorry english isnt my first language

tiny zealot
#

one thing is that it looks like you wanted to use "Target": "Characters/Alex_Winter" on line 39

cosmic thorn
#

can someone remind me how to make a custom shop?

#

i havent read the update list, so i dunno if is there smth new

wanton pebble
ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

wanton pebble
#

Grab it after you're in game and loaded your file

royal stump
# brittle ledge I originally had it as `null` but I got reports it was despawning, and it did in...

(cc @unique sigil) So far, the only reason I can find that the LFL might disappear is if an NPC walks through its tile, which destroys it. If anybody can reliably reproduce the despawn, let me know and I'll try it on my end.

In the mean time:

  • You can use "LimitedNumberOfSpawns": null to let the LFL respawn overnight if it ever disappears. It won't prevent book loss if that happens, but it'll make a new LFL if the tile is empty.
  • Making the tile beneath the LFL impassable to NPCs should protect it, in case that's ever an issue. You might need to use"StrictTileChecking": "Low" to allow the LFL to spawn there afterward.
  • Both"DaysUntilSpawnsExpire": null and 0 should work the same way for machines. However, changing from 0 to null will undo the "can't be picked up" setting for machines that have already spawned, so I'd recommend just leaving that as-is. SDVpufferdizzy
unique sigil
#

(also, im detailing the despawning thing for tia, LFL isnt my mod after all, i just remember the exact circumstance of the initial despawning. thanks esca! SDVpufferheart)

royal stump
#

(I guess that tile's supposed to be safe in 1.6 based on someone's tests on reddit SDVpufferthinkblob NPCs are just the only potential cause I can find yet)

rare orbit
#

thank god non destructive npcs mod exists ;w;

calm nebula
#

What if you made specific items not destroyed

brittle ledge
#

remind me in 4 hours to do that

patent lanceBOT
#

i've waited my whole LIFE for you to ask, tiakall. so yes, the answer is yes I'll remind you!! (#6517547) (4h | <t:1738970011>)

brittle ledge
#

good bot

royal stump
#

I think I see where I'd need to patch for that, but there might be multiple states involved ("do frustration emote + speed up" vs "just silently explode objects in the way")

#

...the logic is also copy-pasted for each facing direction

rare orbit
#

btw? for the deepwoods mod? when asking permission for making alt portraits who should i contact? the original mod author or the person who made the portraits?

brittle ledge
#

Why not both?

rare orbit
#

ahh i am trying to contact the author but i am having hell doin it since they don't seem to be accepting messages on nexus.

#

i'll have to find the person who made max's portraits for deepwoods mod

#

hopefully they have a social media platform i use ;w;

cosmic thorn
#

if i need more then one addon/plugin in ContentPackFor (manifest) how do i do ?

brittle ledge
#

you can only do one ContentPackFor, if you're doing a mod that has a CP and an FTM portion (for example), they have to be in two separate folders with two separate manifests

cosmic thorn
#

then how sould i connect the ShopTileFramework?

royal stump
#

you'd basically make a pack for each mod, then put them in a main folder; for example, inside Little Free Library's folder you download, it has these

lucid iron
#

You don't need shop tile framework

cosmic thorn
#

do i?

lucid iron
#

Data/Shops very powerful

#

Tell us your goal

cosmic thorn
#

Im trying to make an NPCs shop and connect it to tile with time and stuff

lucid iron
#

Yep don't need STF

cosmic thorn
#

can i get example somewhere for new system?

lucid iron
#

First add a new shop here

cosmic thorn
lucid iron
#

Then add Action OpenShop to a map somewhere

#

Here's a example

cosmic thorn
#

thx

lucid iron
#

Elizabeth guide is pretty better

cosmic thorn
#

oh there is nothing about the schedule like when its open and stuff

lucid iron
#

This shop isn't associated with a real npc, for that you need the last 4 arguments of OpenShop

rare orbit
lucid iron
#

Whcih defines a rectangle

lucid iron
#

Ctrl f OpenShop in here

cosmic thorn
#

oh yeah i remember this thing

lucid iron
#

It makes it so that the npc need to exist in the rectangle b4 u can open shop

lunar dawn
#

hi. im currently trying to create an upgraded version of one of my mods. i want the two of them to be compatible with each other, but i don't want them to have dependencies on each other. the new mod adds a higher tier of produce from the last one, but it also keeps the same produce as the original. I have different animals digging up the original produce, but only the new animals dig up the new produce. i wanted to amend this by creating a machine for the old mod that can turn the old produce into the new produce. my issue is that im not sure exactly how i can achieve this without the two mods conflicting with each other for having the same item IDs. I have given the original produce item IDs an indicator within the content file that would make them not conflict with each other, but left their display names in game as the same. would this be enough to prevent them from conflicting, and would they also stack with each other if they have the same in game name? or would the game not stack them because their item IDs designate them as different?

tender bloom
#

My advice would be to make them make the actually same item but disable the produce add stuff conditionally in the “advanced” one

#

Basically for any item, make it match between the two but have the basic mod control it when they’re both installed

lunar dawn
#

that would still make the advanced one depend on the original right? i guess it might not be such a bad solution

#

i think im making it more convoluted than it needs to be lol

tender bloom
#

It won’t depend on it

#

It can just check if it is installed or not

#

To decide whether to load the stuff that would be duplictaes

#

With a When condition and HasMod

lunar dawn
#

is making it conditional something that would require knowledge of C# or is that something that's a native function to stuff i can put in the content file? because i dont know a thing about c# despite my efforts

tender bloom
#

No that’s a Content Patcher feature

#

Look at the content patcher docs about When conditions

lunar dawn
#

where can i find the content patcher docs i was looking around on the wiki

#

oh i might have found it hang on

uncut viper
#

have you tried the content patcher nexus page

lunar dawn
#

i can see the when field but nothing about hasmod and how to use it

hallow prism
lunar dawn
#

oh i think this helps thanks

cosmic thorn
#

guys what differences between .tbin and .tmx

lucid iron
#

tmx is a xml format

ivory plume
lucid iron
#

You can open it up as text and it support thing like rotating tiles

#

Usually recommend over tbin

cosmic thorn
#

so if ill load as tbin its still okay?

lucid iron
#

It's ok not gonna explode

rare orbit
#

so when say making alt portraits for mods how do i verify it targets the right assets?

cosmic thorn
#

xd got it

rare orbit
#

makin portraits for deepwoods and i got the green light from both max n the mod author for the farmer portraits nyapu style

#

but i don't really like replacing files if i can avoid it so it'll be a non replacer

tribal ore
#

.Choose Config, Letters, Dialogue, Events

patent lanceBOT
#

Choose result: Events

tribal ore
#

... sigh

hard fern
#

It be like that sometimes

cosmic thorn
tribal ore
#

Thanks. I've just done a lot of events and am tired xD

cosmic thorn
#

xd

wanton pebble
#

Okay, that does it

#

Do people ever get a result from maru's that isn't the last one?

tribal ore
#

Hmmmm. We can test

#

.Choose one, two, three, four, five, six, seven

patent lanceBOT
#

Choose result: seven

calm nebula
#

.choose live, die

patent lanceBOT
#

Choose result: live

tribal ore
#

.Choose one, two, three, four, five, six, seven

patent lanceBOT
#

Choose result: one

tribal ore
#

Yeah

wanton pebble
#

Hmmm

tribal ore
#

.Choose one, two, three, four, five, six, seven

patent lanceBOT
#

Choose result: six

tribal ore
#

.Choose one, two, three, four, five, six, seven

patent lanceBOT
#

Choose result: six

tribal ore
#

.Choose one, two, three, four, five, six, seven

patent lanceBOT
#

Choose result: one

uncut viper
#

why test in here

tribal ore
#

! oops

wanton pebble
#

Okay I did mine In Gov's mansion

tribal ore
#

Sry 😦

wanton pebble
#

Anywho. I've seen it pick the last so often I got concerned

#

Seeing it happen there for some reason was the straw that broke the camel's back

brittle ledge
tribal ore
#

For what it's worth, the Events are actually my favorite part of what I've done. I'm extremely proud of some of the things I've been able to do. They just... take a long time to debug

#

I have this really cute branching date event with location changes and everything ^_^

wanton pebble
#

Ahhhh date location changes and choices... they are quite nice to make

#

.... right up until you prototype them and go "oh God, time to do this part for the 1000th time"

wanton pebble
#

Event tester with fast forward my beloved

latent mauve
#

You just need your Target to match for your portrait mod

rare orbit
#

cool cool!

#

thank you!

#

i'll give it a go now!

#

oh boy...

#

i cannot find the file for it.

#

i dunno if deepwoods has a content file ;-;

latent mauve
#

Ah, then Deepwoods doesn't have a CP component. I... don't really know how to find the assets in C# mods as far as figuring out how they've been added to the content pipeline.

#

Somebody that's used to C# land might be able to offer guidance maybe?

#

I didn't even realize DeepWoods had portraits tbh, and I'm not sure how the farmer portraits are done

gentle rose
#

are you looking for the asset names?

latent mauve
#

yeah, they need to know what to target for their nyapu style portraits, ideally

gentle rose
#

is deep woods open/accessible source by any chance? if not I'll download and decompile

latent mauve
#

Assuming that's the right one, Nikki?

gentle rose
#

strange, the part for loading the portrait asset is commented out

latent mauve
#

hmm

gentle rose
#

I'll have a look on my laptop instead of my phone though

latent mauve
#

@rare orbit hey, can you clarify which portraits you're trying to replace, just so we're on the same page?

rare orbit
#

the portraits for max

gentle rose
#

everything to do with the portrait is commented out in the source code...

#

strange

rare orbit
#

sorry... i am still a beginner ;-;

#

and i wanna make sure i do not mess this up

gentle rose
#

don't worry, I'm talking about the deep woods mod, not you. Are there currently any portraits for max in the latest version?

rare orbit
#

there is! just one set tho

gentle rose
#

then the latest version is different to the github version. I'll have a look and see

rare orbit
#

i already got the greenlight from both max, the author of deepwoods, and jupm, author of nyapu's farmer styled portraits

#

they have it on nexus as well

gentle rose
#

this is the portrait you're trying to replace, right?

rare orbit
#

yup!

#

wanna make em a non replacer! so that if anyone wants to revert back to the original it's as simple as uninstalling it!

#

i am 50/50 with replacers but i can understand that they can be frustrating

teal bridge
#

Content Patcher mods always work like that - despite being called "replacer" it's not actually overwriting any game assets on disk.

rare orbit
#

ahh

teal bridge
#

For clarification, even if Deep Woods isn't a CP mod, you can still use CP to replace the portraits as long as the mod is opted into the asset pipeline. Which it probably is despite the weird commented out code. I'd try making the patch on the assumption that the commented code is actually live, using those same asset names, and see if it works.

rare orbit
#

ahhh ok!

#

i'll try that real quick

teal bridge
#

Which according to what we see is Portraits/DeepWoodsMax

gentle rose
#

I was going on that assumption too, but the decompile shows those commented out sections aren't there either

#

so honestly I'm confused how the game is even showing a portrait in the first place

gentle rose
rare orbit
#

idk yet ;-; i haven't made it far enough to tell...

#

ffffffff i probably should've check..

gentle rose
#

...I have a feeling the portraits may not be in the game at all right now

rare orbit
#

i feel kinda dumb ;-;

gentle rose
#

it's okay, it happens, just worth checking next time

#

if there's a way to cheat to the npc or something, you should do that and check

rare orbit
#

lemme check now ;-;

gentle rose
#

assuming the npc is even in the game SDVpufferthinkblob

ornate trellis
#

i am not too sure the npc is ready yet? last time I checked it had a basic schedule to just exist in the house but I never saw em there

rare orbit
#

i totally went to school ;w;

rancid musk
#

Based on a quick look at Deep Woods' latest DLL I don't think it's adding any NPCs

rare orbit
#

huh

gentle rose
rare orbit
#

interesting

rancid musk
#

The methods to edit NPC data are stubs

teal bridge
#

Yeah, I looked at git blame and the code has been commented out for 3 years.

gentle rose
teal bridge
#

The portrait asset is there but it's unused.

rare orbit
#

i think it's in alpha rn

#

but i am not sure

teal bridge
#

Yes, the alpha is what we just looked at.

rare orbit
#

so should i still upload the files??

ornate trellis
#

DeepWoods it's still in bigtime development, yeah

gentle rose
#

you can, but there's nothing to replace if there's no npc

rare orbit
#

cool cool ;w;

ornate trellis
#

since you got the ok of max you can also just ask em?

teal bridge
#

I'd keep in mind that the author may change any of this stuff in the meantime.

rare orbit
#

i did! they said it's cool

teal bridge
#

After all, CA changed the names of a bunch of NPCs before launch.

ornate trellis
#

looks at Willy

rancid musk
#

(Now back to my trying to construct a mod collection after a weird friend of mine suggested we actually play the game)

rare orbit
#

i'll likely still upload since i am proud how the images came out owo

teal bridge
# rare orbit i did! they said it's cool

What I mean is, the author may not mind you doing these edits but that doesn't mean your edits won't be invalidated by some decision the author makes in a few months' time. That's the thing about alphas, you just have to be prepared for things to break.

rare orbit
#

ahhh

teal bridge
#

But certainly there's no problem with releasing it anyway. It just won't do anything. (In the game, that is)

rancid musk
#

I know, it doesn't make sense. But apparently that's a thing you can do???

tawny ore
#

You mean this, right?

drowsy pewter
#

I think if you release it it's going to make a lot of people think that theres an npc in deepwoods lmaoo

rancid musk
tawny ore
#

I can only focus on one "play" at a time, and I'm still working on my Minecraft 1.21.4 world

rancid musk
#

What am I supposed to do when something happens and I don't have a debugger attached notlikeblob

tawny ore
#

I mean you could just play with debugger attached

rancid musk
#

lol

tawny ore
#

Imagine just changing the game mid playthrough

#

I don't even play with my own mods because it becomes too distracting

rancid musk
#

I have a hankering to play Minecraft, but absolutely zero of the friends I play games with want to play. Enshrouded scratched the itch a little, but it is not the same.

tawny ore
#

As I'm playing I end up thinking more about modding. Or if I encounter an issue I want to fix it right away.

teal bridge
#

Playing with debugger attached runs fine for me as long as I don't open Stardew Progress.

#

I play like that fairly often.

tawny ore
#

This was my modlist for my most recent playthrough

#

i.e. the mods that I can't live without

teal bridge
#

Plus it skips GOG Galaxy's obnoxiously slow impossible-to-disable cloud sync thing, so sometimes I'll run from Visual Studio even if I'm not planning to debug anything.

#

(I still don't get the appeal of Visible Fish, no disrespect to the author.)

tawny ore
#

To me it's aesthetically appealing

lucid iron
#

I like when the squid goes swooce across the deck

tawny ore
#

I don't use it as a point of reference for what I can catch. I just like how it looks.

lucid iron
#

No idea why it's bugged like this hope it never gets fixed

teal bridge
#

Ah, ok. That makes sense, though I wouldn't have put a purely aesthetic mod down as essential.

tawny ore
#

I only use CJB Cheats to make the default walking speed 2x

#

1x just doesn't feel right to me

teal bridge
#

The only can't-live-without-it aesthetic mod for me is high vis fertilizer.

#

Because the default fertilizer sprites are, let's be honest, fertilizer.

rancid musk
#

I wrote a mod that makes me faster when I hold a button. Definitely agree the default walking speed is not enough.

tawny ore
#

I used to use the mod that made paths give you a speed boost

gentle rose
#

matt is everything okay. are you being held captive. what's going on

tawny ore
#

I felt like that was a nice compromise

gentle rose
#

playing the game? weird

tawny ore
#

Oh no I'm not playing. This is from my March 2024 playthrough.

#

That's when I played all of the new content.

gentle rose
#

I got worried for a second

tawny ore
#

I haven't done a 1.6.9+ run yet so I'm due for a new one

#

Plus some newer mods I have my eyes on

#

This is what's occupying my life right now

gentle rose
#

I assume that includes all three boncher mods of course

rancid musk
#

Matt are you TNT duping

gentle rose
#

I think I've played like 30 minutes total of minecraft ever and it was like ten years ago

tawny ore
rancid musk
#

Whatever lod mod you're using looks wild, lol

tawny ore
#

My latest creation (last I'll share before I get bonched)

#

This is bluemaps

#

I can navigate my world using its GL rendering in a browser

#

Now that I've got infinite Shulkers, my next project is to revamp my storage system

#

A lot of my mod ideas are things I encounter in Minecraft that I'm like, it would be nice if I could do this in SDV

rancid musk
#

I still want to make an april fools day edition of Better Crafting that introduces a Minecraft crafting grid, lol

tawny ore
#

Actually, I encountered the opposite the other day. In minecraft I was like, I wish I could cycle my hotbar like in SDV, and apparently no actively supported mod exists which does that.

gentle rose
#

that's a lot of work for an april fools mod SDVpuffersquee

rancid musk
#

Right?

tawny ore
#

A lot of work for an april fools mod is the secret competition that we're all in

#

Casey made content code as a joke

#

And aeden made the bug fix joke

calm nebula
#

Speak for yourself

#

I'm never gonna do an April fools joke

lucid iron
#

Spenny

tawny ore
#

Spenny isn't a joke. It's a legitimate high quality, must-have, mod.

teal bridge
#

Incidentally, Matt, I can't help noticing that your own mods aren't on your essential mods list.

lucid iron
#

If you reveal your joke then it's no longer suitable april 1 material

tawny ore
rancid musk
#

I'd probably need to do like... a 5x5 grid instead of 3x3 because a lot of recipes have more than 9 ingredients. 25 seems like a better limit.

tawny ore
#

While I'm playing with my own mods, I get into developer mode and I can't enjoy playing as much

rancid musk
#

Or just have it take from everything in a stack, but that is less Minecraft-y

tawny ore
#

My wife gets annoyed when I ask her to save and close for a minute so that I can quickly fix a bug

teal bridge
#

Missed that comment earlier.

#

Well, since mine have zero bugs and are perfect in every way, I'm proud to list them all on my essentials.

tawny ore
#

And then I'm like "Okay here, install this, log back in and try again. Is it still happening?"

hard fern
#

Ive made a handful of mods i use in-game that ive never released bc they're so low effort

lucid iron
#

My debug mod list is like 70 long cus i keep making mods that make no sense without at least some relevant content mods

cosmic thorn
#

what if texure for an item will be bigger then 16x16?

lucid iron
#

Then u see 16x16 slice of it

#

You need scale up 2 or spacecore hd tex to bypass

cosmic thorn
#

nah im asking what will happen

teal bridge
#

(in all seriousness though, I cannot play the game without my own gamepad mod, the vanilla gamepad controls belong in a museum)

lucid iron
#

Then u see 16x16 slice of it

cosmic thorn
#

oh i didnt see

#

sorry

tawny ore
#

I have 70 mods I use for debugging currently. Anytime there's a specific compatibility consideration, I add it to that list.

rancid musk
#

The vanilla controls are oof, lol

teal bridge
#

Yes, but I was trying to be polite this time.

tawny ore
#

Admittedly, I avoid playing anything with a controller. I only have a controller for the purpose of testing.

hard fern
#

At least recycling is beneficial

lucid iron
#

So wait what is the <mod where all the mods register actions and icons> for star control/iconic framework

tawny ore
#

Button was going to do something, I think

rancid musk
#

Hmm, I guess I will have to drain multiple items from a single slot with my april fools thing. Like, a preserves jar takes 98 input items. I am not making a 10x10 crafting grid lol

teal bridge
#

I make every effort to avoid mouse and keyboard controls, there are only a few PC games I'm willing to play without a gamepad and they're mostly older.

tawny ore
#

Would it be cruel if for April Fools I relaunch the mod page for Better Chests, only it's now Worse Chests?

lucid iron
#

Mediocre Chests

hard fern
#

What will you do to it? Or will the joke be in name alone

tawny ore
#

Because I'm really tempted to do that, but I feel like it may actually make some people angry

teal bridge
tawny ore
hard fern
#

RQOL- reduced quality of life

teal bridge
#

Worse Chests makes all regular chests the same size and have the same user interface as a Junimo chest (but without the use-anywhere property).

hard fern
#

Random chance of a chest eating an item as a snack every night

tawny ore
#

you get 3x3 storage slots across every chest

teal bridge
#

Ok, we can compromise... single inventory, but still limited to 6 items.

tawny ore
#

Unlimited storage, but it's one visible slot, and you have to take items out to view the additional ones

rancid musk
tawny ore
#

Exactly

lucid iron
#

And it goes on a sprinkler

tawny ore
#

Sometimes your chest sprouts legs and runs away from you

teal bridge
#

Maybe Worse Chests should just remove chests entirely. Store everything in the bin.

lucid iron
#

Only accepts fertilizer

hard fern
#

Add an option for the chests to be haunted like the mannequin

rancid musk
#

Worse Chests. Any food left in a chest will rot overnight. Food should be kept in the fridge.

teal bridge
#

I like that. Also, chests ignore item stacks. If you want to put 9 parsnips in that 9-slot chest, it will use all 9 slots.

tawny ore
#

Oh that's extra cruel

#

I think the theme should be every Better Chests feature, but implemented as a Monkey Paws wish

teal bridge
#

I would do an April Fools mod for Worse Gamepads, but I'm not sure how I can make them worse.

lucid iron
#

Every button is hard bound to the chat menu

rancid musk
#

The NES controller is the ideal gamepad. No controller should have more than a D-pad, select, start, A, and B.

#

As such, no other buttons can be bound to actions.

teal bridge
teal bridge
#

I guess Worse Gamepads would just block the other buttons from performing their mirror function.

#

Oh, I forgot about the triggers. I guess that does make menuing a bit worse, if they're disabled.

#

You can't use the toolbar anymore with gamepads, you have to open the main menu and rearrange your inventory.

tawny ore
rancid musk
#

"I want to craft anywhere."
Whenever you start a craft, a junimo has to walk from the chest to your current location in real time with the ingredients and you're stuck in place waiting.

tawny ore
#

I want to access Chests from anywhere
Granted, when you access a chest remotely, all of it's contents are teleported to you on the ground.

teal bridge
#

Some players might still consider that slightly better.

tawny ore
#

Better have that big backpack upgrade

rancid musk
#

I want to access chests from anywhere.
The game randomly teleports you to a different chest when you press a button

tawny ore
#

That actually could be useful

#

Teleportation spots

rancid musk
#

Yeah, it could be.

tawny ore
#

Imagine people installing an April Fools mod for the one feature they find actually useful

teal bridge
#

Worse Backpacks could be a good mod idea. 6 items total, expandable to 9 and 12 for the cost of 50k and 100k, plus you have to arrange the items geometrically and have encumbrance that slows you down linearly, not just when you're over.

wintry barn
#

who hurt yall(respectfully these look funny asf)

teal bridge
#

(I can actually imagine a tiny fanatical group of maybe a dozen players installing that as a "hard mode" mod.)

rancid musk
tawny ore
#

If it takes off for it's meme value then it could totally be a challenge mode for certain types of players

teal bridge
#

I am kind of intrigued by the challenge of creating a mod that makes gameplay as miserably difficult and tedious as humanly possible without taking the form of cluelessly bad design or bugginess.

#

Something that no sane person should ever want to install, but still feels just as authentic as the vanilla experience.

tawny ore
#

That also sounds like it would be a fun premise for a mod jam challenge

#

April Fools ModJam anyone?

tribal ore
#

Events: viewport clamp x y false: what do? The wiki just has " TODO: explain other parameters."

teal bridge
#

I think the junimos are still worn out from Halloween, we might have to organize it ourselves.

tawny ore
#

The first ModJam on this server was put together by me

tribal ore
#

Hoping the viewport will move with the player if I set it to false

tawny ore
#

Ancient times now

teal bridge
#

Huh, actual cash prizes, that is ancient times indeed.

tribal ore
#

TBH game jams are a lot of fun. I'd love to participate but I dont' need any more distractiong from finishing my current mod

teal bridge
#

(I would like to see a contest/jam whose theme is more gameplay-oriented.)

tawny ore
#

The problem is you need a theme that is easy for participants to support or there just won't be enough interest

lucid iron
#

Is this just a ploy to get that jam color again

tawny ore
#

I won't admit to a thing

lucid iron
#

April fool jam bolbthinking

#

It see extremely hard to grade

rancid musk
#

What if my mod just lets you put a Junimo Kart Arcade System into a Preserves Jar

teal bridge
lucid iron
#

Only if i get a new arcade with fully impleme minigame

lucid iron
tawny ore
#

If there were an April Fools mod jam, it would have a scoring system similar to when I ran the first one, which allowed mods to be graded on different metrics. One of them would probably be humor and how challenging/fun it is.

teal bridge
rare orbit
#

hey?? for any mods made on nexus for stardew valley?? should i link my mod or will it show up automatically??

#

just finished makin a mod!

teal bridge
#

Show up where?

tawny ore
#

You need mod author role to promote to showcase

#

Someone else can promote for you

lucid iron
#

Yes but ur blue

#

U can yo ask for orang if u want

#

Dm bouncer

winter dust
#

I don't think mod author is hard to get right?

lucid iron
#

Lv25 made a mod yep

tawny ore
#

Discord is smart enough to turn mod page links into the mod title, description, and screenshot. So you don't need anything special other than a link to post your mod in any channel.

lucid iron
#

Could be hard if "a mod" is something that took u several years but there's not really a lower bound

tawny ore
lucid iron
#

Yea

#

I thought of that more as step in the application rather than requirement

tawny ore
winter dust
#

I forgot about that page, funny to still see me on there.

tawny ore
#

Names on the wiki and posts on the forums both seem like remnants of a forgotten era

#

Although I know that forums are still lively, I just forget about them

teal bridge
#

I posted on the forum once. Never got any answer. That's why I ended up here.

rancid musk
#

I'm glad the forums exist, I just don't have the mental bandwidth to do anything with them.

lunar dawn
tawny ore
#

The "forums" format in general is just not where a lot of active communities are being built nowadays

lucid iron
#

"HasMod": "DPS.MysticFoxes": "false",

#

This is incorrect

#

Remove the : "false"

lunar dawn
#

i only want those changes to happen when the player doesn't have the mod, how would i configure it so the items only get added when the mod isn't present?

tawny ore
#

You open one { without closing it }

#

That's part of why it's invalid JSON

lunar dawn
#

well i closed it way down the line because i wanted it to do the things in the brackets when that condition is met

#

whats the correct way to do that?

tawny ore
#

That's not how When works, it's part of the Changes

#

The change is not part of the When, it's the other way around

rare orbit
#

ahhhh

#

still tryin to figure out my current level

lunar dawn
#

i put the when inside of the changes brackets

tawny ore
#
"Changes": [
  {
    // Change 1
  },
  {
    // Change 2
  },
  {
    // Change 3
    "When": {
      // When for Change 3
    }
  }
]
#

So each Change can have an Action, LogName, FromFile, When, etc...

lucid iron
#

For a negative hasmod you need this syntax
"HasMod |contains=ModId": false

tawny ore
#

One of the more helpful tips I can recommend is edit your .json files in VSCode, and add the "$schema" to the file so that it can help you make corrections as you're typing:

#

That way it constantly validates the file for you

rare orbit
#

wait i think i can do it! it's level 25 to pick the mod author role right?

tawny ore
#

For example in my file, it's telling me that I should update my format to 2.5.0

#

This is super helpful

lunar dawn
#

ok I'll try that

#

i think my brackets were correct though it was probably just the fact that i used hasmod wrong

tawny ore
#

Even if you fix HasMod, your brackets were still wrong. VSCode could show you that

#

If you fix your indentation, you can see at the end of your code you have extra brackets

lunar dawn
#

im not sure how to add the schema

tawny ore
#

You just add it to the top or bottom. Either below the first { or above the last }

#

Also seeing an issue here on your "ActionsOnApply"

#

Same deal,

"This": "That": {
}

is not valid JSON

lunar dawn
#

oh that was unfinished I was trying to add a line that removes certain buffs and i forgot about it

tawny ore
#

Another tip is you can make your life easier by making your assets load from assets/{TargetWithoutPath}}.png if you just rename the file to match the Target

lunar dawn
#

that falls under the category of things i don't understand so i prefer to just do what has worked in the past for me

tawny ore
#

Something like:

{
  "Action": "Load",
  "Target": "{{ModId}}/ShopIcon, {{ModId}}/WFox, {{ModId}}/VFox, ...",
  "FromFile": "assets/{{TargetWithoutPath}}.png"
}
#

It just takes the word ShopIcon, and loads it from assets/ShopIcon.png

lunar dawn
#

i can try it but i think ill mess something up invevitably

tawny ore
#

Yeah, not saying you have to use it, but it's just one of those nice features there for your convenience

#

Since writing all of that can get repetitive, and lead to more mistakes

lunar dawn
#

i just copy and pasted the content from my old mod and started changing things

#

oh yeah i guess i should ask since im gonna ask later anyway

#

that part where i was trying to do an action on apply. i was trying to do a trigger action that removes certain debuffs by singling out their buff ID and i got distracted and forgot about it is why it was unfinished, but was i on the right track to put it there? because i only wanted it for that specific truffle

lusty elm
#

I have a weird design process, rooThink I needed 2 more warp locations for this map to make it more easily traversable, but i was using cave entrances as warp outputs from the warp map so that it doesnt take up map space, so now i'm making 2 more cave/sub-maps.

tawny ore
#

Looks like that belongs to Buffs which is a separate edit from Objects

lunar dawn
#

hmm i could have sworn i pulled it from somewhere

tawny ore
#

Data/Buffs not Data/Objects

ivory plume
#

@tawny ore Just in case it affects you, I'll be releasing my mod updates with the Iconic Framework integrations within the next half hour.

tawny ore
lunar dawn
#

oh so i'll have to make a new action for that right?

tawny ore
#

You can create a custom buff with a custom ActionsOnApply, and then have that buff apply to the object

lunar dawn
#

yeah thats where i got the actions on apply thing

tawny ore
#

I think SpaceCore has a thing where you can add a custom action to objects if you want to depend on that

lunar dawn
#

i dont think i need to

cosmic thorn
#

how to make a new item the player drank, and did not eat lol

lunar dawn
#

because something from actions on apply is that i can "addbuff" and "removebuff" right

#

in the trigger actions

tawny ore
#

New trigger actions
spacechase0.SpaceCore_OnItemUsed - use item GSQ conditions to check the right item, make sure to set UseForTriggerAction in ObjectExtensionData (see further below) for that item to true
spacechase0.SpaceCore_OnItemEaten - use item GSQ conditions to check the right item

patent lanceBOT
tawny ore
#

SpaceCore does a bazillion things so I'm not totally in the loop on all of them

lunar dawn
#

am i able to do it without messing with spacecore though? i just think im not ready to jump into that yet

#

im already struggling pretty hard with the built in stuff

tawny ore
#

tbh I'm not sure how some of the buff/action stuff would work without testing it

#

SpaceCore isn't more work than what you're already doing

#

It's there to try to make some of that stuff easier

lunar dawn
#

i would have to understand it though

#

and thats a monumental task for me

tawny ore
#

If you're willing to learn, then there are people here willing to help you

#

But that's up to you

lunar dawn
#

i am willing to learn i just think im still not at the stage where i physically can learn it yet because im still building up my knowledge just like with the base stuff i can do without c# or dependencies

tawny ore
#

Fair enough. You can try what you think it right, and if it works then great. If not come back here. Ultimately you may run into an issue that isn't possible without depending on something like SpaceCore.

#

I can't confirm if this is one of those things, so you'll know once you try it out.

lunar dawn
#

i have a pretty good feeling that this is within means of what content patcher can do on its own

tawny ore
#

Similar to the buff thing, SpaceCore would just be targeting a path exactly like what you're doing now, and editing the action in for your object

#

So SpaceCore dependency is still a Content Patcher mod as far as you're concerned

lucid iron
#

So if it's a food item to eat

#

You can have buff

#

In vmv there's edible books for this reason

modern ether
#

can anyone tell me how to overwrite another mod's portraits with my own? I have a mod that adds an NPC who has four expressions, and I'm trying to add more. I know how to use them, just not how to load the file correctly to overwrite the original

lucid iron
#

Did you take a look at this other mod's Data/Characters

#

i like doing patch export Data/Characters for this kind of thing

calm nebula
#

Tbh I would get into contact with the mod author for this

modern ether
lucid iron
#

Yea do u have perms

#

Adding new expressions has implications

modern ether
#

it's just a side mod my wife and I want to make and play with, I'm not publishing it

cosmic thorn
#

@lucid iron sorry for ping, but do u know how to make an item drinkable instead of eatable ?

tawny ore
# lunar dawn i am willing to learn i just think im still not at the stage where i physically ...

I just want to demystify the idea that using SpaceCore for this purpose is complicated. This is basically what that would look like in your content.json file:

{
  "Action": "EditData",
  "Target": "spacechase0.SpaceCore/ObjectExtensionData",
  "Entries": {
    "YourObject.Id": {
      "UseForTriggerAction": true
    }
  }
},
{
  "Action": "EditData",
  "Target": "Data/TriggerActions",
  "Entries": {
    "{{ModId}}_ItemUseWhatever": {
      "Id": "{{ModId}}_ItemUseWhatever",
      "Trigger": "spacechase0.SpaceCore_OnItemUsed",
      "Condition": "ITEM_ID YourObject.Id",
      "MarkActionApplied": false,
      "Actions": [
        "AddBuff example",
        "RemoveBuff example"
      ]
    }
  }
}
ivory plume
#

(Though buffs when eating/drinking are built-in to Data/Objects.)

tawny ore
#

Does that include adding a buff to remove a buff?

lucid iron
lunar dawn
#

Yeah I have adding buffs figured out I guess it just doesn’t seem possible to remove buffs when eating

lucid iron
#

IsDrink

tawny ore
#

I wasn't sure if buff to do action to remove buff would work

ivory plume
#

Yeah, removing a buff isn't supported through Data/Objects (except the duplicate buff which happens automatically).

lucid iron
#

All buffs go away when u sleep tho

#

If that's alright for ur case

tawny ore
#

There you go, eat an item and instantly sleep /lh

lunar dawn
#

Dang I really thought it could work

tawny ore
#

Anyway my sample code would probably accomplish what you're trying to do. Depending on SpaceCore does not mean writing C#.