#making-mods-general

1 messages · Page 236 of 1

gentle rose
#

(in lieu of finding the xkcd that ofc exists to explain it because what HASN’T xkcd covered, tl;dr for anyone curious, classical probability uses measurable previous data like atra making the most progress, Bayesian probability also considers contextual knowledge, like atra being retired, and you don’t need either one of those to know there’s a 100% chance I should go to sleep)

uncut viper
#

im extra dumb bc until just now i thought you were referencing a previous conversation, but no, that was cartesian

gentle rose
#

I remember mentions of cartesian products but not why pffft

#

oh, content patcher crimes

#

.xkcd 1132

#

…uber?

#

hmm, uber’s xkcd command isn’t working rn. Edit: I think it’s been disabled in this server 😭

uncut viper
#

i would bet you $50 atra would make it but good luck collecting

#

no time limit on the bet

reef kiln
#

Are we allowed to elect people to make mods that don't want the job, because if so I have a few suggestions. 😀

dusk mulch
#

omg the sprites, portraits and dialogue is actually, GOOD?! for this npc I made it should be bad

tender bloom
#

As someone who hasn’t made a new mod in…idk a year or more

#

If I am elected, I can promise continued no new mods

lucid iron
#

i think elizabeth should make the wind turbines and water wheels mod

tender bloom
#

The occasional mod update if the game has a major version change

#

And a whole lot of bullshit

#

Ok that does sound really fun

gentle rose
#

I elect both mathpeople to continue their fabric crrafts and hopefully keep putting up with us

calm nebula
#

I mean I also already did the code lol

tender bloom
#

I’m not sure my art skills extend to waterwheels

calm nebula
#

There is a nontrivial chance I will hit the publish button

#

But not before I get back from China

gentle rose
#

is it content-packable?

tender bloom
#

Atra you’re so much less retired than I am xD

uncut viper
#

that wasnt in the project specs

tender bloom
#

I bet you even check your nexus notifs more than once a month

#

Once every two months

uncut viper
#

wheres my 50 bucks, iro

gentle rose
#

well it’s what I meant and you should have read my mind

uncut viper
#

bayesian statistics should tell you id take any technicality

gentle rose
#

not published yet and also I never agreed to it technically and also nuh uh

calm nebula
#

Project specs: just devs work. No publish

hard fern
#

If someone elects me to make a mod I'll only consider it if it results in me scrapping it 5 times over before deciding on something

tender bloom
#

I feel like Atra claims to be retired but publishes mods, and I claim to be not retired but never publish mods. If Atra ever stops publishing I’ll have to see if this magically makes me start, to maintain balance in the world.

#

There will come a day when I’m not teaching a new class from scratch, I swear

calm nebula
#

I am going to China for two weeks

nova gale
#

huh, getting a fruit to not make wine is harder then I thought 😛

uncut viper
#

hi selph

tender bloom
#

The machine rules have hierarchy I thought

brittle pasture
#

targetfield (BC)12 > OutputRules > Default_Wine > Triggers > ItemPlacedInMachine_Fruit > RequiredTags

uncut viper
#

machine rules are mentioned i understand

brittle pasture
#

lmao

nova gale
#

yeah, I did that

brittle pasture
#

and add !id_o_youritemid to ban it

lucid iron
#

are you trying to get something else out of keg

nova gale
#
{
            "Action": "EditData",
            "Target": "Data/Machines",
            "TargetField": [
                "(BC)12",
                "OutputRules",
                "Default_Wine",
                "Triggers",
                "ItemPlacedInMachine_Wine",
                "RequiredTags"
            ],
            "Entries": {
                "#-1":"{{ModId}}_non_wine_fruit"
            }
        },
lucid iron
#

or just ban froot

brittle pasture
#

you need a ! to negate

#

that just makes it so only items with that tag can be used to make wine

nova gale
#

oh, I had it negated before, I unnegated to to see if the change was working at all

brittle pasture
#

ah it should be ItemPlacedInMachine_Fruit as I posted above

#

you're editing the second trigger, which is an extra case for non-fruit items

nova gale
#

oh, yeah, same deal, I had it as fruit before, I swapped to the other one just to make sure my target field in general was working

#

I wasn't sure if the fruit entry was "special" somehow

brittle pasture
#

can you post what you did have?

nova gale
#
{
            "Action": "EditData",
            "Target": "Data/Machines",
            "TargetField": [
                "(BC)12",
                "OutputRules",
                "Default_Wine",
                "Triggers",
                "ItemPlacedInMachine_Fruit",
                "RequiredTags"
            ],
            "Entries": {
                "#-1":"!{{ModId}}_non_wine_fruit"
            }
        },
#

I'm reloading this to re-test

#

these are the context tags of the fruit I'm trying to ban:

 "ContextTags": [
                        "{{ModId}}",
                        "{{ModId}}_Crops",
                        "{{ModId}}_non_wine_fruit",
                        "color_dark_purple",
                        "dye_strong",
                        "season_spring",
                        "season_summer",
                        "season_fall"
                    ],
gentle rose
nova gale
gentle rose
#

also apparently earlier this year an ipad exploded in the maths lecture theatre during a lecture at my (ig old?) uni and the lecturer just went “well, there’s probability to learn” and kept going pffft

#

love that lecturer though. dedicated enough to take time out of a y1 probability lecturer every single year to draw frogs on the whiteboard for one of his assignments. 10/10 would recommend frog

dusk mulch
#

oops is this a bad time for memes

#

well

#

meme

gentle rose
#

might not be wrong time but probably wrong channel

nova gale
#

oh wait! these fruits were harvested before I added the tag, they may not have them

dusk mulch
brittle pasture
#

yeah that might be the case if you havent exited your game and have been patch reloading all this time

#

context tags are cached

calm nebula
#

re conversation earlier today wrt to monster slay quests

#

interesting

nova gale
#

I just got a new harvest of berries and those hit the right recipe

calm nebula
#

@rigid musk report monster quests not respecting targetMessage to the wiki

brittle pasture
#

quick question - can I use reflection to set a readonly field

calm nebula
#

I'm very certain it was meant to work.

gentle rose
#

seems like it was an oversight, at a glance

brave fable
gentle rose
lucid iron
#

u probably can since readonly is just a suggestion right

uncut viper
calm nebula
#

readonly is not a suggestion

uncut viper
#

i assumed it was just for the compiler to yell at you

nova gale
#

I can't recall if C# runtime checks the readonly or if thats a compiler only check

uncut viper
#

but idk much about anytyhing

calm nebula
#

it's a compiler only check in framework and actually enforced in core

nova gale
#

oh fun, I'm sure that differentiation has never caused problems 😛

uncut viper
#

lets be fair here, its at least 2 randos

calm nebula
#

none of this is virtual

lucid iron
#

coulda changed it in the past 15 years though

calm nebula
#

:grumbles: none of this is virtual

lucid iron
#

this is ancient.

calm nebula
#

guyyyysss

#

"it's a compiler only check in framework and enforced in core"

lucid iron
#

are you gonna stop the crimes channel from doing crimes atra

gentle rose
brave fable
#

please do not change the value of readonly members at runtime

lucid iron
#

or attempting them at least

lucid iron
brave fable
#

like i'm sure with enough effort we can remove members entirely but we do not do that

#

that is not what we do

uncut viper
#

i would love to do it

brave fable
#

npc.hasbeenkissedtoday? gone.

#

you did this.

gentle rose
#

that means I have to dig through code to figure out what targetMessage is intended to do and satisfy my curiosity though SDVpufferwaaah

lucid iron
#

what do you particularly want to change selph?

calm nebula
#

why is linqpad so unusable

brittle pasture
#

I'm trying to make custom furniture description show up in the crafting menu
and dw I already have another route, I just want to know if the least effort way is desirable (apparently not)

calm nebula
#

wow, linqpad crashed on me twice

lucid iron
#

isnt the least effort way like, patch the tooltipy

brittle pasture
#

thank goodness I asked before committing a felony then

brave fable
#

there's crimes ✨ and then there's assault

#

you chose assault

uncut viper
#

i would like to change a readonly value still

calm nebula
#

...I swear I tested this before and it threw an error at me

lucid iron
#

can you do it more than once

calm nebula
#

why did I think it broke?

#

I absolutely remember testing this

lucid iron
#

well there u go assault is possible

#

it could be jank nonsense in monogame yggy

#

stopping u for unrelated reason

dusk mulch
#

Is it possible to make a tile so that you can plant crops and till them without it being on the farm?

calm nebula
#

maybe it was a static readonly

lucid iron
#

you can make anywhere plantable now

calm nebula
#

AHAH

#

it WAS static readonly

#

(because the jitter wanted to optimize that shit)

#

question to the linqpad-users

#

7 works fine on my laptop

#

8 is laggy as fuck and keeps crashing

#

why

dusk mulch
#

Will this work or do I need seperate objects?

lucid iron
dusk mulch
lucid iron
#

CanPlantHere

gentle rose
lucid iron
#

theres also location context

brittle pasture
lucid iron
#

though hm ig that one didnt have planting related stuff (i thought id did)

calm nebula
#

I'm updating linqpad again

dusk mulch
lucid iron
#

what even is linqpad

calm nebula
gentle rose
calm nebula
#

it was static readonly

#

(I updated linqpad and it's stable now.)

nova gale
#

does the TABLEMACHINE make tables?

gentle rose
#

so it works but is boring and reliable

brittle pasture
lucid iron
#

just so you know CanPlantHere is a location data

#

to make the tile tillable you need tiledata dirt, which the default spring outdoors has already

dusk mulch
#

Oh good lord, the farmer base sprites are terrified

dusk mulch
nova gale
#

so it's a self replicating table? the mother of the table apocolypse? I'm down

tender bloom
calm nebula
#

you know, sometimes I think roslyn could do a little more constant folding

nova gale
#

they'll be wrong, but that's true of the 5 year old slides as well so /shrug

tender bloom
#

😭 nooo

#

I’m also not teaching strictly lecture based

gentle rose
#

what subject do you lecture in? maths?

tender bloom
#

Engineering

#

Some of which is secretly math

gentle rose
#

engineering is maths but you’re tired of mathematicians’ bullshit

#

and are a little less off your rocker than cs

hot gale
#

I might end up having to learn to make some frameworks I want but seemingly don't exist

dusk mulch
#

Is there a right facing cash register sprite?

naive wyvern
#

nope

#

every cash register is front facing

#

or, I guess back facing

royal stump
#

there're the flatscreen-looking things in jojamart, if those are any help

naive wyvern
#

oh i hadnt considered those actually
i was thinking of the one you see at Pierre's shop kamo_laugh

royal stump
#

actually I guess the thing above them might be the register? I'm not sure SDVpufferdizzy

naive wyvern
#

thats fancy

ornate locust
#

https://www.nexusmods.com/stardewvalley/mods/32021 Filled out missing furniture color pieces, flipped them to the side and back, flipped chimneys to the side, and added more deco items.

Nexus Mods :: Stardew Valley

Tilesheet, adds FUNCTIONAL vanilla tilesheet couches that face in directions that vanilla couches do not. Also adds some fire extinguishers, fills out missing wood furniture set pieces, turns those fu

#

Would appreciate if someone could boost for me with that update info. I've been really happy messing with them as decoration myself in testing

dusk mulch
#

orrr

#

maybe i can try that one

#

Why are there no sideways doors either 😭

lucid iron
#

Update from @ornate locust:

https://www.nexusmods.com/stardewvalley/mods/32021
Filled out missing furniture color pieces, flipped them to the side and back, flipped chimneys to the side, and added more deco items.

Nexus Mods :: Stardew Valley

Tilesheet, adds FUNCTIONAL vanilla tilesheet couches that face in directions that vanilla couches do not. Also adds some fire extinguishers, fills out missing wood furniture set pieces, turns those fu

ornate locust
#

Thank you! I really liked redoing my map using these pieces and I hope other people will have fun with them

hot gale
lucid iron
#

Huh u can replace the special

hard fern
#

Huh

#

What does Odin's rage do

hot gale
hard fern
#

Oh my phone refused to load the gif

#

Does it smite your enemies

hot gale
#

Yeah it does damage

lucid iron
#

But wait what is the cp thing giving it an enchantment

#

Last i checked that was c# land

hot gale
#

Advanced Melee Framework

lucid iron
#

Right ok LilyDerp

brisk wedge
#

What happens if you add an item to the players inventory during a player.inventorychanged event listener?

lucid iron
#

You get another event i think?

#

Can get infinite recursion yes

brisk wedge
#

Does my event listener finish running before the another event triggers the listeners again?

lucid iron
#

Are u using the smapi one or the game one

hot gale
#

Whirlwind I guess?

brisk wedge
#

I think the smapi one? It's the ones listed in the modding wiki for events

lucid iron
#

Ig it's probably important to ask what u wanna do too

#

The smapi one might need next tick, unsure

lucid mulch
#

stardew and smapi are both singlethreadded, so there wont be concurrency.
so only one event handler can be running at a time, and all the event handlers need to finish before smapi/stardew can go back to doing other things

brisk wedge
#

Oh ok nice

lucid mulch
#

But that doesnt stop other events from triggering as a response to what you did in your event handler

hot gale
#

Explosion AoE

lucid mulch
#

For example, during a LocationChanged event handler, you can mark an asset as being invalidated, which would trigger the invalidate event to occur and all those event handlers will run, and assuming a vanilla asset, during that invalidation will be smapi telling vanilla to load it again, which will cause the AssetRequested event and its handlers, etc

#

and only after all of that, will your original locationchanged event handler finish, and the next locationchanged handler wil lrun

brisk wedge
#

Wait so if my listener is do a, invalidate asset, do b, and there's a listener for asset invalidation that does c, is the order do a, invalidate asset, do c, do a?

#

Last one should be do b oops

#

Like do the other listeners that get triggered by events queue up waiting for me to finish first or do they just go immediately

lucid mulch
#

smapi events trigger immediately, there isn't a queue

#

for example, this is a ContentPatcher warp event (LocationChanged in CP jargon), but within it, is a bunch of asset invalidations causing assetrequested events, all having to be handled while that original warp event handler is going

#

Profiler builds a logical stack to track it, because my original logic of just timing events in isolation got weird things like "why does content patcher sometimes take multiple seconds to do a warp", but its due to triggering other events and they took ages

brisk wedge
#

Hm ok sad I will think about this later

#

Thank you for the info ❤️

undone jewel
#

I think I did the layout correctly for a rotating furniture, type as bookcase but it looks like this when i go test it

#

this is what the tilesheet looks like and the cabinet load in the game perfectly fine

naive wyvern
# undone jewel this is what the tilesheet looks like and the cabinet load in the game perfectly...

https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_Custom_Furniture_With_CP

might be an issue with spacing, furniture spritesheets are a little picky

Stardew Modding Wiki

This tutorial explains how to add custom furniture using the new 1.6 game update features and Content Patcher. The tutorial assumes you already have the game unpacked and that you have some basic familiarity with the Content Patcher format. The mods referenced as examples in this tutorial are Bonsai...

#

scroll down to Sprite Indices

hard fern
#

😔 hmm ive been using a lot of hxw tilesheets for my maps and stuff, but i wonder if it's better to make furniture stuff from scratch instead

undone jewel
undone jewel
hard fern
#

the art

#

the code is trivial

undone jewel
#

hmmm i enjoy doing it from scratch while looking up pixel art inspo

#

Hxw does lovely work so i see perfect for a starting point ^^

hard fern
#

since i already have to make a lot of custom furniture for my maps, i feel like maybe it would just be better to go all-in

undone jewel
#

i say do it hehe

naive wyvern
hard fern
#

hm still have no idea what to name my mod

naive wyvern
undone jewel
#

i see hmm its showing it as a weird cropped

#

TwT

hard fern
#

hm maybe i should move all the bathroom furniture to its own tilesheet

#

oh

undone jewel
#

does the side have to be the same size as the front facing?

hard fern
#

i believe there's some funky rotation stuff that goes on in furniture

naive wyvern
#

no it doesnt have to be the same size, looking through the wiki link i sent earlier has a lot of furniture that arent sized the same but works fine

#

its a matter of nudging things around in my experience

undone jewel
#

hmm ive layed it as the guide but lemme try move them around

#

tyty

naive wyvern
#

good luck, i do really like the progress you have so far

#

very cute!

undone jewel
#

thank you SDVpufferheart

hard fern
#

😔 for some reason im weirdly bothered that i drew vanilla styled furniture

#

it's just not really something im used to

naive wyvern
#

i wouldnt have believed you, because your buildings look so good with vanilla style 😔

#

you have the eye and knack for it forsy

hard fern
#

i'll probably take a whack at making my own grocery store furniture first

#

since it's the map i have the most confidence in

#

😅 i dunno how vanilla i'd manage to make it though

ornate locust
#

I have a question. If I want to make a map change on a specific day and for it to stay for the rest of the game, how would I set up the conditions on that?

naive wyvern
#

when in doubt, open towninterior

naive wyvern
#

using Day

#

and Season

ornate locust
#

But wouldn't the change just exist on that day and then go away?

naive wyvern
#

yeah, im trying to look through docs rn to see how to make it permanent

ornate locust
#

Yeah that's the part I'm not sure on

naive wyvern
#

i havent fiddled with it myself yet, but I thiiiink Mail Flags are what you want

#

or GSQs

#

(Game State Queries)

#

maybe those are good starting points

ornate locust
#

Ah, GSQ, I at least know where the documentation is on that. Thanks, I'll have a look

naive wyvern
#

(hello more experienced cheetos, if im wrong, you have every right to pulverize me to cheesy pauder thank u)

ornate locust
#

ooh Date Range might do it

naive wyvern
#

hell yeah time to test

ornate locust
#

"Action" : "EditMap" , "Target" : "Maps/MunicipalFloor2" , "FromFile" : "Assets/Maps/MunicipalFloor2Fish2.tmx" , "ToArea" : { "X" : 15 , "Y" : 3 , "Width" : 2, "Height" : 3 }, "Condition": "DATE_RANGE Winter 14 1", "Priority": "Late",

#

This does not work, so I assume I'm getting the syntax wrong

#

I think I'm gonna do "days played"

royal stump
#

CP doesn't have a condition field directly; DaysPlayed should be fine, but the alternative is using a trigger action to set a mail flag, and have your map patch look for that flag in "When"

#

(I did add a GSQ token in EMP, but it's overkill in this case SDVkrobusgiggle)

cyan yacht
#

i am looking for mods to play in multiplayer. if anyone knows ones to make the mines better mainly. i am not fully sure. i would just like to find mods to play with some of my friends. if anyone ahs a list can you pm them to me

dusk mulch
#

Well I have almost got the supermarket and another NPC done, 1 more building and 2 more NPC's

latent mauve
#

I got three more character spritesheets done today! 😄

#

Still working on:

  • Wolf Link (side view)
  • Nabooru (side view)
  • Purah (side view)
  • Robbie
  • Midna
  • Tingle
  • Sidon
  • Mipha
  • Ghirahim
  • Addison

And then if I'm not burned out on spritesheets, I can try to knock out the optional/post-release charcters: Urbosa, Riju, and Daruk.

#

But that's ALL THAT'S LEFT for the mod art!

dusk mulch
#

Also, can someone help? My warp isn't working.

mighty ginkgo
#

what's the problem with the warp exactly?

dusk mulch
#

Like it doesn't exist

ornate locust
#

Days Played works fine. Minor annoyance: Setting the day with CJB does not increment days played so you gotta hit the bed over and over and over

dusk mulch
#

It doesnt do anything

#

I will try again

mighty ginkgo
dusk mulch
violet grotto
#

Does anyone happen to know what these sprites for the Shadow Brutes and their dangerous variants are used for, or if they're used at all?

#

Been a while since I last played, and I don't recall them ever using these.

#

If they're not used for anything, then that would make creating variants for these much easier.

ornate locust
#

Are those not attacks?

#

Looks like swinging his arms

violet grotto
#

I know, but they usually just run at you. At least as far as I can tell.

#

The wiki didn't mention any special attacks for the normal and dangerous version.

dusk mulch
#

god i regret taking on this giant project, but im in too deep now

hard fern
#

sunk cost fallacy

cosmic forge
#

Is there any way to invoke right/left click by c#? I want to play game only with gamepad but some mod need mouse click.
So I tried to make mod to right/left click event mod, but I cannot find document about it.

proud wyvern
#

can't you use Steam Input for that

dreamy arrow
# cosmic forge Is there any way to invoke right/left click by c#? I want to play game only wit...

You can get a mouse cursor using a gamepad with a right analog stick. This works even better if you disable "Controller Style Menus" in the game settings. With the cursor active, A & X act as left and right click.

For handling clicks in mods most menus and objects have their own receiveLeftClick and receiveRightClick callback methods that you can hook into. There is no global click handling.

calm nebula
#

That event

#

You'll get another inventory changed the next tick

swift needle
#

is it possible to edit fruit cave loot using FTM?

calm nebula
#

Add to? Yes

#

Edit? No

orchid glade
hard fern
#

Nice

tidal stone
#

if i put /w tuesday/ in my string of code for heart event will it make it were it has to be tuesday to see it?

#

also idk if anyone would know this because it's for the loft apartments mod but would I put this code in my content json?

#

like would I put that in the json for my character npc?

flat sluice
vernal crest
#

It's better if you use the new names for event preconditions rather than the old way of using single letters. So use DayOfWeek Tue.

tidal stone
#

Oooh ok

vernal crest
tidal stone
#

ok ty sm!

tidal stone
#

OOh I see what I did wrong now, thank you

#

Hmm, I did something else wrong as it doesnt appear to have locked the door

flat sluice
#

Hi,
maybe a stupid question, but when I extracted the Strings\Movies.xnb file and opened it, I found out that for films like Brave Little Sapling, there are all dialogues, but for another ones, like Mysterium, there are some missing (for Mysterium it is 3, 4, 6, 7, 9), so... Where to find the missing ones?

tidal stone
flat sluice
tidal stone
#

im so bad at writing dialogue but I guess that'll come with practice

flat sluice
vernal crest
lucid comet
#

I'm trying to play around with tilesheets and things aren't working like i thought they would, so maybe i'm misunderstanding something fundamental here: can you use a (already loaded) tilesheet with EditImage or are you only supposed to use tilesheets in tiled for map making?

vernal crest
#

Are you trying to use the loaded tilesheet as the source image or the target image? You can target a vanilla or other mod's tilesheet that has been loaded by the game. You can't use one that's been loaded to edit another one, since EditImage requires a FromFile field that points to an actual image file in your mod folder.

lucid comet
#

as the source

#

i know it works as a target, but i wasnt sure the FromFile needs it in the folder

#

(since EditMap can apparetly do that - if i can read the documentation right o.o")

vernal crest
#

No, you can't use EditMap to edit one map in the game's content pipeline with another.

lucid comet
#

i was looking at this part:

Content Patcher will handle tilesheets referenced by the FromFile map for you:

If a tilesheet isn't referenced by the target map, Content Patcher will add it for you (with a z_ ID prefix to avoid conflicts with hardcoded game logic). If the source map has a custom version of a tilesheet that's already referenced, it'll be added as a separate tilesheet only used by your tiles.
If you include the tilesheet file in your mod folder, Content Patcher will use that one automatically; otherwise it will be loaded from the game's Content/Maps folder.
vernal crest
#

Which part are you interpreting to mean that?

lucid comet
#

the "Content Patcher will handle tilesheets referenced by the FromFile" .... i read that as "you can use/reference tilesheets that are loaded into the game's Content/Maps"

#

but like i said: i might have misunderstood a fundamental here x)

#

so that is only for maps

vernal crest
#

Yes, you can use tilesheets that are in Content/Maps in maps. The reason you can do it is because the maps themselves are just xml files that contain instructions that the game uses to build the visuals we see. Part of those instructions are information about which tilesheets tiles are pulled from and the game code looks in certain places for those tilesheets.

lucid comet
#

yeah, i looked into those which was when the "wait a moment ... am i misunderstanding this?" came ^^

vernal crest
#

Here's an example of that from one of my maps using the townInterior tilesheet

lucid comet
#

and since you have the . it skips the local file and uses what is actually loaded

vernal crest
#

Yup that's right, though that's just for testing because I would not actually include the townInterior.png file with my mod when I release it, since that'd just be needlessly distributing an unedited vanilla asset.

#

I probably won't bother actually removing the periods from the image source line though because I am lazy lol

#

I have custom tilesheets too but they also won't be in the folder with the map when I release it. Instead, they will be in a subfolder called "tilesheets". I'll Load the tilesheets into the game's content pipeline so they will function the same way as vanilla tilesheets. I will do that so other mods can edit my tilesheets if they want to (for things like recolours or if someone really wants to replace my furniture with ones they've drawn instead or something).

#

For editing a tilesheet itself, if you wanted to, say, recolour all the beds in town to be bright pink, you'd need to create a tilesheet containing those beds that you would publish and use EditImage with your tilesheet as FromFile to target the relevant vanilla tilesheets.

lucid comet
#

that part i know pretty well, just misunderstood how you're supposed to use tilesheets provided by others ^^

vernal crest
#

Ah, I see. Sorry, I thought you were trying to use one tilesheet to edit another tilesheet, not use a tilesheet mod like Lumisteria's Tilesheets or HxW Tilesheets in your map. The reference to EditImage threw me off I think.

#

It's very easy to use tilesheets from others' mods in your map. You treat them exactly like vanilla tilesheets except that you add a dependency to the tilesheet mod in your manifest before you publish.

#

So: in your map folder during editing, delete before publishing.

#

(Or you put your map into a big tilesheet-filled folder for editing, move it into your mod folder for publishing, if you prefer).

lucid comet
#

i was trying neither SDVpuffersquee

#

but you helped me anyway, to tyvm

vernal crest
#

I am very confused about what you're doing then

#

How are you trying to use a tilesheet?

#

You may not have permission to use someone else's tilesheet if you're not using it to make a map like I described.

lucid comet
#

i was thinking you could use a tilesheet mod (in this case DNT), to edit the mine tilesheet

#

as far as i know that is allowed for personal use?

vernal crest
#

If it's for personal use, yup.

#

And I assume this discussion helped you realise that in order to do so, you will need a copy of DaisyNiko's tilesheet in your own mod folder to make the edit?

#

Or edit DNT to add the edit code patch in, if you'd rather do it that way and don't mind the risk of losing it if DaisyNiko updates it.

lucid comet
#

i learned how you are supposed to use tilesheet mods, i think? for mapmaking, not editing other tilesheets

#

^^

vernal crest
#

Well, for personal use you can use them to edit other tilesheets if you want to.

#

You just can't do it the way you thought you might be able to.

lucid comet
#

ye, it's gonna be good old frankenstein a tilesheet and never show anyone my personal mod folder SDVpuffersquee

#

i'm very well aware of the "you need permission if you want to use other peoples art in your published mods" - there is a reason i dont share my ui mod for example: if i dont get explicit permission, that thing stays on my pc ^^

#

even if it's "just" a color scheme, it would feel wierd to share that

vernal crest
#

That's cool. Sorry to mention it before but some people do not know the rules and/or etiquette and I like to give people a heads up about it so they can make decisions that are right for them (keep as personal mod vs ask for permission vs change idea, etc) ASAP.

lucid comet
#

i appreciate the heads up anyway - better for everyone to know what they can and can't do

flat sluice
#

I have another probably stupid question, or maybe just a confirmation:
Is
"summer_Thu": "{{Random:GOTO spring_Fri, GOTO spring, GOTO summer}}",
correct schedule randomization if I have these schedules (and also many others):

"spring": "610 WizardHouse 5 15 2/930 Town 72 54 2/1700 WizardHouse 12 2 2/2100 Custom_WizardBasement 13 5 0/2400 Custom_WizardBasement 23 6 2",
"spring_Fri": "610 WizardHouse 5 15 2/1300 Forest 16 30 1/1800 WizardHouse 2 16 3/2100 Custom_WizardBasement 13 5 0/2300 Custom_WizardBasement 23 6 2",
"summer": "610 WizardHouse 5 15 2/1100 Forest 52 98 0/1630 Custom_WizardBasement 13 5 0/2230 Custom_WizardBasement 23 6 2",
calm nebula
#

Should be fine

dull forge
#

when a target is looking for Maps/[name] where do i find the map name

#

lord i dont know what im doing

lucid iron
#

What do you mean by this

#

What's the actual error

dull forge
#

I'm trying to make a personal patch for MixedBag tilesheets and dirt to grass for vpr but im not sure what the map would be

#

or where to find it

#

i've never coded before

lucid iron
#

So this Target is the load target of the tilesheet you want to replace

#

Or edit

#

You have to look at the mod you tried to edit (dirt to grass?) to see where it loaded their things

#

But hm, are you actually trying to like

#

Edit mixedbag sheets that have dirt and replace them with the ones that are just grass?

dull forge
#

yes, i need to overlay a grass layer over the dirt in the mixedbag tilesheet

lucid iron
#

So then you would need to look at Load patches in the mixedbag tilesheets mod

#

Find the ones loading dirt, then just change FromFile to equivalent grass

#

This is bad for actually publishing but u can do it if it's just personal edit

dull forge
#

i am very confused, my apologies. i want to overlay grass on the dirt of six tilesheets in this folder, will it overlay if i change the fromfile?

tender bloom
#

No, you need to change the Target, not the FromFile

#

What is the original mod doing?

#

Original Mod
"FromFile": "assets/somewhere in this mod/some tilesheet"
"Target": "Maps/some tilesheet the original mod targets"

Your Mod
"FromFile": "assets/somewhere in your mod's folder/some tilesheet name"
"Target": "Maps/some tilesheet the original mod targets"

#

if you do this arrangement, you will edit the same thing as the original mod (make sure your edit applies after theirs or your edits will be erased by them)

dull forge
#

the original mod, dirt to grass, is adding a grass overlay to the dirt in vanilla stardew
what i want to do is add the same overlay to the dirt in MixedBag's tilesheets

#

im trying to find the target but im not sure how to

tender bloom
#

You cannot target their tilesheets directly. You can only target things in the vanilla game.

#

You can, however, target the same thing they do, but afterwards, as a way to target their effects

dull forge
#

i don't think i understand, but thank you for the guidance! i'll see what i can do

eternal mortar
#

how do I switch from the normal sprite to the beach sprite? Is that possible?

#

sorry im like stupid

flat sluice
eternal mortar
#

beach sprites that NPCs have, such as my custom character

flat sluice
eternal mortar
#

the custom npc i am creating, apologies.

flat sluice
#

But honestly I'm not sure how the game handles beach sprites/portraits.

eternal mortar
#

Alright, thank you!

flat sluice
#

This is correct! (hopefully)

#

I used an example from my custom NPC, in which I use that one...

lucid iron
#

Don't do that use appearances

#
Stardew Modding Wiki

If you want to add seasonal outfits for your NPC, there's two ways you can do this: the token way or the Appearances way. Appearances is a new code structure added in SDV 1.6, so if you're looking at an older NPC's code for reference, they'll most likely be using the token way. The main difference between the two is that the token way is simpler...

flat sluice
lucid iron
#

That said beach (aka ginger island resort outfits) are special

lucid iron
#

But yeah pls use those instead of editimage

#

They r already used for vanilla winter outfit

flat sluice
#

I'll try to do them again.

hot gale
#

It's a shame the monster framework hasn't been updated

#

Adding weapons made me want to add a bunch of new enemies to use them on

lucid iron
#

You can spawn enemy reskins if you want

#

And make dungeons with spacecore

#

The thing that lack real framework is unique monster AI

hot gale
#

Hmm that sounds intriguing

lucid iron
#

But i always feel that sdv combat in general limits what kinda mod u can make in that area

#

Players do not have that many choices

hot gale
#

I agree

stable grotto
# dull forge i don't think i understand, but thank you for the guidance! i'll see what i can ...

for once you wake up (or shortly thereafter SDVpuffermlem ):
you have to target Maps/fall_z_dirtpath and the remaining seasons in your code
here's the original code block taken from the aptly named dirtpath.json { "Action": "Load", "Target": "Maps/fall_z_dirtpath, Maps/spring_z_dirtpath, Maps/summer_z_dirtpath, Maps/winter_z_dirtpath", "FromFile": "assets/{{Variant}}/{{TargetWithoutPath}}.png", },

lucid iron
#

This is kind of why i ended up pivoting to non combat abilities with trinkets kyuuchan_run

hot gale
#

I want to make some trinkets too

lucid iron
#

Yeah sure ask me anytime

hot gale
#

Thanks will do 😁

lucid iron
hot gale
#

Yeah I was looking at that framework last night actually

lucid iron
#

The hard part imo is

#

Making the animations

#

Ability wise it's fairly simple tho ofc dependent on what u want to achieve

hot gale
#

Right

#

Im gonna try to figure out how to add more magic to the game, have some ideas already

#

I'm now working on two mods at the same time lol

#

My mead mod and now this weapon pack

tribal ore
#

Ok, schedule question: I'm thinking about adding a marriage schedule that paths to a spot in the SpouseRoom (for a particular NPC, not for all of them). Is this safe or is this a bad idea?

#

I know that stuff in the farm house is fraught with danger generally

rigid musk
#

I didn't even know you could do schedules in the farm house

lucid iron
#

Wouldn't u break every modded farmhouse

calm nebula
#

You can't normally path in the farmhouse

#

You can kinda fake it but it becomes messy in MP

tribal ore
#

Yep, so basically what I was expecting. Glad I checked in first with you guys

#

I was just kinda hoping that, since it was the SpouseRoom (which is mostly constant) that it would be ✨ special

tidal stone
#

!maps

#

!makingmaps

#

how do you trigger the map links again?

fossil osprey
#

!mapmaking

ocean sailBOT
#

If you want to make mods that add or edit maps:

  1. Use Tiled to edit .tmx or .tbin files.

  2. Refer to the Maps wiki page for details on how maps work in Stardew Valley.

  3. Content Patcher allows you to create custom locations through editing Data/Locations

  4. Vanilla Maps can be edited via Content Patcher as well: EditMap

tidal stone
#

thank you!

tidal stone
#

ok quick question about tiled, if I want to create a map should I use Springoutdoors tilesheet for that for the grass and dirt or is there a more optimal tilesheet to use?

rough lintel
#

thats the only one w grass and dirt on it so

#

lol

tidal stone
#

aaah ok

lucid iron
#

There's a few more actually

#

Grass dirt border tiles added in 1.6 and used in meadowlands

sleek flint
#

Can someone guide me to a doc on CustomFields in CP?

lucid iron
#

And you can grab modded tilesheets if you need

lucid iron
#

What are you trying to do is my question

sleek flint
#

Basically I made a very simple framework, and it currently only works for the ShopID that I specify. So, I want it so if someone adds a true value in CustomFields it activates the framework for that shop.

tidal stone
#

I just learned how to make the tile smaller so i can grab just grass lesgo

lucid iron
#

From CP side it'd be normal edit data

#

What does the framework do

final folio
#

Hi, one question, the messages that are accompanied by the query message "ConditionalDoor", where can I find them?

#

Never mind, i thing so finded

sleek flint
#

Since modded catalogues can't have filter tabs.

lucid iron
#

Happy home designer 2 DokkanStare

#

You should rewrite the shop menu it'll be great and Compatible trust

tidal stone
#

omg making maps is so much fun but omg i did not anticipate hpw big i would need this map to be >.<

#

the tiles sound like more than they are does anyone know how many tiles is in the town or another map for example

#

i wanna make this decently sized lol

lucid iron
#

Something i recommend is making a small map and make sure u understand everything needed to load a map into game first

tidal stone
#

hmm 🤔 i guess thats fair, then this will be a practice map uwu_nod

lucid iron
#

There's a lot of fiddly around maps for sdv that tiled doesn't handle bc it's a general program

tidal stone
#

I assume editing the tile sheets is allowed?

#

like turning them

#

because some of these almost fit but they arent turned right for me

lucid iron
#

You can rotate and flip tiles yes, as long as you save a tmx

tidal stone
#

yippe

lucid iron
#

Remember to have the tilesheet in same folder as map

#

But only while you edit

tidal stone
#

does anyone know what tilesheet the till is? the little ticket thing for using the train/bus

shadow pagoda
#

So I thought I could easily check if a item can be currently donated for a CC bundle by calling the couldThisIngredienteBeUsedInABundle function from the CommunityCenter class, but that doesn't seem to be the case. It could be also how I'm getting the desired items. I'll explain my code and then explain the issues to give context.

So I'm getting bundlesIngredientsInfo from the CommunityCenter object as I thought that would tell me all of the items needed to complete the community center. While it technically does, there are some bundles that accept more items than there are slots, like the Exotic Foraging Bundle. That's issue #1 with this data structure. When I convert the data from that variable into an item, I am taking up space with unnecessary items as I don't need them all in a list.

The second issue I have is that bundlesIngredientsInfo doesn't seem to be giving me the correct information all of the time. I completed all of the bundles except except the ones in the Boiler Room and Bulletin Board. So I would assume that the bundlesIngredientsInfo would only have data related to those items. But it only has the apple (issue #2) which I have no idea why.

There are other issues with this, but I believe these are the main two I'm stuck on that I have no idea of figuring out. I really just want to way to know which bundles are incomplete (if any), how many items slots are empty, and what are the valid items for that bundle. Here's my code on github. Does anyone know any other variables I should be looking at?
https://github.com/BlckHawker/Instant-Community-Center-Cheat/blob/main/ModEntry.cs

pine elbow
#

Does anyone know how to convert from Button to Keys? I made a mod to change the keys in the game Journey of the Prairie King.
And I'm trying to implement it with the generic mod menu so that people can choose which keys they're going to use.
But the generic mod menu to map keys uses the class: StardewModdingApi.SButton, while the mini game uses Microsoft.XnaFramework.Input.Keys.

Is there any way to convert the keys from one format to the other?

calm nebula
#

There is a tryparse extension method iirc

pine elbow
#

And how does it work?

faint ingot
#

what is the correct way to update portraits/sprites for spirit's eve so they use the alternative version for the festival but not if you see them somewhere else that day?

brittle pasture
#

appearances probably

#

the answer to all of life's questions, if said questions involve conditional npc appearances

lean verge
#

i can’t mod but i saw this comment and wanted to share it lmao

faint ingot
pine elbow
#

Does anyone know if there is a way to register keystrokes in the generic mod menu using Microsoft Framework.Input Keys, instead of using SButton?

pine elbow
#

Because I capture the keys in the generic mod menu, they come in the SButton format, and I want to pass them inside the key code of the game Journey of the Prairie King, which uses the Keys format of the Microsoft XNA Framework.

#

or would there be a way for the generic mod menu to capture the key in the format I need, or a way to convert the key from one class to another

calm nebula
#

The first method is the one you want

gentle rose
pine elbow
# calm nebula

I didn't understand how to use this, the code is incomplete, it doesn't explain in this image what to do. It's a bunch of ifs

brittle ledge
#

I mean the horse is an NPC, they should be allowed to have dialogue 😌

tawny ore
#

Maybe familiarize yourself with C#'s TryGet convention because it's commonly used for a lot of things

gentle rose
#

do you think we can convince dolphin to make a horse portrait? seems up their alley SDVpuffersquee

urban patrol
#

https://smapi.io/json/content-patcher/3f7f8bb1070d4b849b663c911684a7b5 there are other issues with my event, but to start, why does my NPC walk off the screen? he didn't do that before i added the move EdwinPayne 1 0 0 before the move EdwinPayne 0 -1 2.

other random issues:

  • random rug tile showing up when it's not in Tilex
  • viewport -1000 -1000 doesn't seem to put the camera out far enough/it's like it gets stopped
  • i would like for the waterSloshes to play the whole time he's stirring and the farmer is walking, and i'm not sure i wrote that correctly in the code
  • the cauldron front/back layers aren't displaying like i'd hoped--is there a way to have the cauldron on the front layer like it's supposed to be, with his animation over top of that?
  • my fork is clearly messed up
tawny ore
hallow prism
#

try a pause between the stop anim command and the move

#

sometimes you need to pause stuff so they have actually time to finish

#

my experience with another event was that not having time to properly finish the anim was causing issue

urban patrol
#

sick i'll try that

final folio
#

Is it possible to set up an extra dialog for the "Mines_PlayerKilled" command for spouses?

pine elbow
tawny ore
#

I think if you're using lang version latest, you can shorthand that to just = [key] but don't quote me on that.

dusk mulch
#

I forgot to move the NPC's default tile after moving his room... oops.

urban patrol
tawny ore
#

@pine elbow this should work

if (Instance.Config.MoveUp.TryGetKeyboard(out var keys))
{
    ___binds[GameKeys.MoveUp] = [keys];
}
faint ingot
#

Hmmm I tried this and nothing seems to be happening during the festival: "Appearance":[ { "Id": "Default", "Portrait":"Portraits/{{Russell}}", "Sprite":"Characters/{{Russell}}", }, { "Id":"SpiritsEve", "Condition":"IS_EVENT festival_fall27", "Portrait":"Portraits/{{Russell}}_SpiritsEve", "Sprite":"Characters/{{Russell}}_SpiritsEve", } ]

calm nebula
#

Look up precedence

#

(Thanks, Matt)

#

I'm vaguely checking in in between waiting for work software to do things so I'm not really paying attention

faint ingot
hard fern
#

Omg poor penny

gentle rose
#

isn't that a vanilla line? I recognise it for some reason

faint ingot
#

No I wrote it, at least I think I did?

ornate locust
#

I have a question for people who know things about Fashion Sense: Accessory layering. Does anyone else have a problem where an accessory is set to ignore color information, but that immediately fails and changes the color when any other accessory (even the same one) is layered?

dusk mulch
#

just spent 20 minutes trying to figure out why a schedule wouldn't work, i had the numbers in the wrong spots

hot gale
dusk mulch
brittle pasture
hot gale
#

Ahh ty!

#

Is there an Edibility calculator out there somewhere rofl

tidal stone
#

do you need to set how to interact with certain tiles in the tile sheet before you put them on the map, is that what tile collision is?

dusk mulch
tidal stone
#

aah ok

ornate trellis
reef kiln
tidal stone
#

i have come to the realisation i must watch a video about how to use tiled

rotund elm
#

Heyo, quick question about recipes for crafting/cooking, is it better practice to use your mod id in a recipes key or just the name for the item like "{{ModId}}_SushiRoll" or "Sushi Roll"

latent mauve
#

Best practice is to include the ModId for the internal names/ID

#

Never know when someone else has also added their own Sushi Roll items.

rotund elm
#

Yea I have less vaguely name items but noticed I should probably fix that before adding more recipes to save future me XD

#

the example I was looking at does not so I was wondering if it is a formatting thing but that answers that too

#

Thank ya : )

calm nebula
#

I have vague memories of spacecore having health/stamina overrides for foods/drinks

rancid musk
#

Yup, SpaceCore's Vanilla Asset Expansions has overrides.

urban patrol
dusk mulch
urban patrol
#

i was trying to see if by not doing the animation you meant he’s just standing there or if he appears frozen

dusk mulch
#

he is just standing there, his normal animation plays

#

(the breathing one)

urban patrol
#

did you sleep to reload the schedule?

latent mauve
# dusk mulch he is just standing there, his normal animation plays

Your code has only one frame in the 'repeating frames' section if your animation description, so if you are looking to have them repeat you may need to add the other frames to the middle section of the / marks so it's persistently animating?

<entry frames>/<repeating frames>/<leaving frames> is the format, IIRC.

dusk mulch
latent mauve
#

Ah, sorry, I saw that comment but misunderstood

dusk mulch
urban patrol
#

does he go about his schedule except for the animation? have you double checked that the sprites are in the correct location on the spritesheet?

dusk mulch
#

I will check that

#

And yes he does follow his schedule as normal

calm nebula
#

Npcs will breathe regardless

#

Ignore that

dusk mulch
#

Ugh, imagine breathing. Couldnt be me

hard fern
#

Do NPCs only breathe if you set "breather" to true

calm nebula
#

Yes

dusk mulch
#

okay so i checked the sprites and it was wrong

hot gale
#

Why is spacechase0.SpaceCore/HealthRegeneration killing my character rofl

hard fern
#

Oh cool so i can just make my NPC not breathe

dusk mulch
#

Ayyy the animation works!

reef kiln
#

Poor Pierre, gets all the hate SDVcharpierre

dusk mulch
#

Can I make the animation go a bit slower? Like do "17/18 18 19 19/20" so it does 18 twice so it is a bit slower?

urban patrol
#

yes, each frame is 120 ms i believe

dusk mulch
#

yayyyyy

#

its just he is cleaning VERY aggressively

hot gale
#

Any way to fix the text on the bottom?

hard fern
#

Your description may be too long

hot gale
#

Ahhh

#

Nope lol

hard fern
#

Oh

#

Hmm

brittle pasture
#

it shouldn't be a problem... probably a SC bug

hot gale
#

Maybe no description at all

hard fern
#

Wacky

hot gale
#

I mean no description fixes it lmao but no way to know how much HP they restore

#

They dont even get a name or anything lmao

#

no hover popup at all

#

Well if there isnt anything I can do about it, best to not worry about it I guess :p

dusk mulch
#

OH MY GOD FINALLY i have been trying to find a spot for my NPC to stand and do an animation so the animation looks good and I finally found a spot

#

I don't think dale wants to put up with me anymore

urban patrol
final folio
hot gale
#

These came out nice

hard fern
#

Oh the bottles are so cute

crude plank
#

Yes, love the bottles

hot gale
tidal stone
#

I really dont understand maps, do i use code or something within tiled to make it register as a specific thing? like a door or something

reef kiln
#

If I remember right, there is an entire guide to doors. Let me see if i can find it.

tidal stone
reef kiln
#
Stardew Modding Wiki

This is a mildly advanced guide for modders that assumes familiarity with Tiled, Content Patcher, and map modding fundamentals such as the difference between Map Properties and Tile Properties.
Interior doors, such as the one in Figure 1, are interactive map elements with hardcoded behaviour (see InteriorDoor.cs). There are three types in the b...

#
Stardew Modding Wiki

This is a mildly advanced guide for modders that assumes familiarity with Tiled, Content Patcher, and map modding fundamentals such as the difference between Map Properties and Tile Properties.
Interior doors, such as the one in Figure 1, are interactive map elements with hardcoded behaviour (see InteriorDoor.cs). There are three types in the b...

tidal stone
#

ty ill give this a read :3
making maps is a bit confusing but im excited for when i make it work aSDVjunimobounce

reef kiln
#

Oops, it went twice.

urban patrol
#

https://smapi.io/json/content-patcher/4579b75a0a16428fa4bf75c756948b0a does anybody have advice for how i can time the explosion/flash/sprite animation better for when the cauldron explodes? also, i can't seem to write my fork properly. it keeps giving me [game] Event '019160002' has command 'fork laughAtEdwin' which couldn't be parsed: can't load new script from event asset 'Data\Events\Temp' because it doesn't contain the required 'laughAtEdwin' key.

#

oh and also the weird fade at the beginning--i can't figure out how to get the viewport to move to an all-black area

vernal crest
# urban patrol https://smapi.io/json/content-patcher/4579b75a0a16428fa4bf75c756948b0a does anyb...

If I am understanding correctly, it's because you move to a temp map after starting the first event and then when you try to fork it's trying to find the laughAtEdwin key in the entry for that temp map instead. You'd have to either switch back to the actual DeadBoyAgency location before the fork or try editing Data/Events/Temp to add the fork entry into it (not sure if the latter will work).

#

I strongly urge switching to string event IDs instead of numbers, by the way. If you prefix with your mod ID they're guaranteed to be unique and a string is going to be a lot more descriptive than a number.

urban patrol
# vernal crest If I am understanding correctly, it's because you move to a temp map after start...

oh it doesn't have to be numbers? i'd much prefer to name it something like "edwinpayne_2hearts" or something. i haven't been using {{ModId}} in stuff even though i know it's good practice, because i was getting a weird error when i first started about containing . and so i just made my character names as unique as possible.

i'll try editing Data/Events/Temp, and if that doesn't work, i did end up making that temp map a real location, just not accessible from anywhere, for testing purposes. could i define the fork in there, do you think?

vernal crest
# urban patrol oh it doesn't have to be numbers? i'd much prefer to name it something like "edw...

No, 1.6 made it possible for event IDs to be strings and it's now strongly encouraged to follow the unique string ID format. You should've seen that on the events page of the wiki - if you're following a tutorial for making events, make sure you cross-reference any information it gives you with the events page because every tutorial we have is out of date in one way or another.

As for not using {{ModID}}_, maybe try changing this event to use it and see if it works this time? You'd need to load a blank json into Data/Events/DeadBoyAgency (which should also ideally be using the unique string ID format) first.

If editing Data/Events/Temp doesn't work then you can try using the changelocation command instead of changeToTemporaryMap and putting the fork in there, yeah.

urban patrol
vernal crest
#

I'm not sure how to make the transition to the temp map smoother off the top of my head, so I'd suggest looking at vanilla events that use changeToTemporaryMap and also if you have some NPC mods try doing a find in files for it in them so you can see how they manage the transition. In addition to that, I'd experiment with pauses and the globalfade commands. A lot of event making is just tweaking a command, saving, then running patch reload and debug ebi.

#

I hope you are testing with debug ebi rather than exiting your save and reloading it or anything.

calm nebula
#

I think you need to add to data/events/temp

#

Basically

vernal crest
#

Same advice about experimenting with the timing for the cauldron explosion.

vernal crest
urban patrol
#

if my event ID is {{ModId}}_edwin2hearts, would i use debug ebi {{ModId}}_edwin2hearts or replace ModId with the actual name.title

vernal crest
#

The latter

#

CP tokens don't exist anymore by the time the data is in game, because their purpose is to get CP to replace the token with the intended value before it passes the data to the game. That's why you can't use tokens in content that you Load, because CP passes that data directly to the game without editing it so it does literally send the {{ModId}} as a string instead of replacing it with your actual mod ID.

urban patrol
#

i see i see

hard fern
#

hm i had an idea to "hide" an npc's room by making a door open into nothing, and just having the player warp to their room instead

#

since even if you're too low friendship to get in

rigid musk
#

for people who make furniture mods, do you have an easy way to see the tilesheet indexes? it's really hard for me to find wher eeverything is without manually writing it out

hard fern
#

you can still see inside of it

vernal crest
#

Forsy, couldn't you just make the NPC's room a new location and use LockedDoorWarp to not let the farmer in until high enough friendship?

hard fern
#

yes that's what i was thinking of

vernal crest
vernal crest
# hard fern yes that's what i was thinking of

Oh I got confused about the "player warp to their room" and thought you meant that a player with too low friendship would warp back to the farmhouse when trying to get into the NPC's room xD

hard fern
#

Oh no XD

vernal crest
#

That would be very funny for a grumpy magic user though

hard fern
#

Idk maybe im getting really particular but i want to write an npc who is utterly closed off, so you can't even see what their room looks like until becoming friends with them

rigid musk
vernal crest
# rigid musk I know Aseprite has this but it doesn't really help me

Specifically you have to set your grid to 16x16 and then set it to show and then when you hover over one of the grid sections it will show you the index number down at the bottom. In this example you can't see my cursor but I'm hovering over the top tile of the leftmost plant above the Christmas tree and it's showing that the index is 1376.

#

Sorry, it took a moment for me to get the screenshot for the explanation.

rigid musk
#

oh my god this would have saved me so much time with my valentines day furniture mod thank you Aba

vernal crest
#

You're very welcome! I discovered it completely by accident when I was doing my AT to CP furniture conversions and it made everything so much faster.

#

You can use it for wallpapers and flooring too, you just have to change the grid size to 16x48 or 32x32 respectively.

rigid musk
#

"(This is just my guess, but I think it can be fixed by setting a dynamic token to the translation key. Something like 'use translation X when config Y is set to Z' might work out?)"

Once again I am met with my mortal enemy: Dynamic tokens
I have no clue how to use these and only just barely was able to get the schedule ones working with A LOT of help
(this is a part from a comment on my Qi mod about a translation not working for the tokens I have set for his his name, his name for the farmer, and his term of endearment for the farmer)

#

If I could get help with it... like im a wee child that you're trying to teach how to walk who doesn't know anything ever, I would appreciate it

uncut viper
#

i think more context is needed, i dont really understand what that comment is saying to do

vernal crest
#

I was about to offer help but Button is here

dusk mulch
#

Time to design another map.... Yayyyyyyy...

vernal crest
#

If they're referring to using a dynamic token to change the i18n key, that's straightforward.

dusk mulch
#

...Why on gods green earth is the museum called "ArchaeologyHouse"?

uncut viper
#

because its where archaeological artifacts go

dusk mulch
uncut viper
#

depends on what the original intent was. its not like it would matter to CA when its all internal game stuff anyway

dusk mulch
#

eh, true

latent mauve
#

I mean, Robin's place is called ScienceHouse even though it houses the Carpenter shop

vernal crest
#

And Alex's house is called JoshHouse

dusk mulch
#

if CA doesn't fix it I will... Probably do nothing

#

./j

rigid musk
#

The Casino being called Club makes sense but it also annoys me because I have, on multiple occasions, called it 'Casino' when referring to maps in my code... Also a lot of the maps are named weirdly

rigid musk
#

for context it looks as though it should be showing as this, not 'Kid' still

vernal crest
#

Can you show that line in the dialogue.json, the default.json, and the es.json?

uncut viper
#

as far as i know that just translates it on the config screen, it doesnt touch the actual value

hard fern
#

Alex's house is called joshhouse so

uncut viper
#

so you will need dynamic tokens yes

rigid musk
#

"Aos.FriendQiEvent4HAR2": "Remember {{QiPlayerTitle}}, there's never enough of anything.#$b#You might think you're done, you might think you could never need anything else, but when you least expect it you'll need more, want more.#$b#Always keep pushing, it'll be worth it.",

"Aos.FriendQiEvent4HAR2": "Recuerda {{QiPlayerTitle}}, nunca nada es suficiente.#$b#Puede que pienses que estás list${o^a^e}$, piensas que no podrías necesitar nada más, cuando menos lo esperes necesitarás más, querrás más.#$b#Siempre sigue empujando, valdrá la pena.",

it doesn't show up in the dialogue json because it's from an event but the command is:
"(break)speak {{ModId}}_TheMrQi \"{{i18n:Aos.FriendQiEvent4HAR2|QiPlayerTitle= {{QiPlayerTitle}}}}\"

Also I figured I would (considering it's what they suggested) but Dynamic tokens really... really confuse me, like REALLY confuse me

uncut viper
#
"DynamicTokens": [
  {
    "Name": "QiEndearment",
    "Value": "{{i18n: QiEndearment_MyHeart}}",
    "When": {
      "QiEndearmentTitle": "My heart"
    }
  },
  {
    "Name": "QiEndearment",
    "Value": "{{i18n: QiEndearment_MyDear}}",
    "When": {
      "QiEndearmentTitle": "My dear"
    }
  },
]
#

you will need several of these tokens for each version and to then put the titles in your i18n

#

atra's example is good to follow

rigid musk
#

I think I get it I think

uncut viper
#

(i edited the name of the token a bit itll be the same for all of them)

calm nebula
#

I love how my pet nonsense is entirely wrong now lol

#

Oh well

uncut viper
#

you will change the Value of your QiEndearment token to a different i18n depending on what the config is set to

#

an example with at least 2 is probably better so i updated my snippet for that too

rigid musk
#

Ohhh I see

#

what a fun venture this will be... I was hoping to not put out another update for like.. a week

uncut viper
#

then instead of using {{QiEndearmentTitle}} (the config token) you would use {{QiEndearment}} (the dynamic token) in the dialogue

#

remember that dynamic tokens cannot have the same name as a config token

rigid musk
#

To make it so that I don't have to change all of that out could I just change the config tokens

#

like change the name of those

uncut viper
#

yeah probably

rigid musk
#

because I would rather fade into the abyss than go through every single instance of that being used

uncut viper
#

im not sure what that affects with already existing config though

#

resets them to the default at the very least, i expect

#

for everyone

#

you can also do find and replace in your entire mod folder to replace the old tokens

#

though

#

if you're using them in anywhere other than dialogue, thatd be bad

rigid musk
#

the tokens being used from the config are in events an dialogue and in his npc name and a few other references throughout ... so a lot of places

#

TBF they should, theoretically, already be deleting the whole mod folder when installing new versions anyways...

#

(should)

uncut viper
#

i mean, i never delete the whole mod folder when updating a mod

#

unless the mod page tells me to

tender bloom
#

I do it

#

But I also only update like once a year

rigid musk
#

I always do cause I never know if someone restructured their mod for whatever reason y'know

uncut viper
#

for things that are displayed to the user the find and replace should be fine i meant more like

#

if you're using them for When conditions

rigid musk
#

Overwriting usually cause more issues at least from what ive done for mod updating... then again im neurotic about updating my mods

#

I will simply instruct them to delete the folder... the only thing it would really affect would be the config file anyways
I don't know where all of the instances are that I used the tokens but I know it's a lot and I know how I am and if I have to go in and find and replace all of them... it would probably end up with a disaster

#

or at least delete the config file to reload it

vernal crest
#

I also always delete the original folder - though I usually remove the config file first so I don't have to redo my config.

rigid musk
#

Very fair, I do the same thing unless the mod author mentions the config needing to be redone

#

Maybe if I put in big capital letters where you click download that they have to delete it it'll be fine... right... Right

vernal crest
#

I thought that Stardrop preserves the config and I was so disappointed when I found out it doesn't PufferSob

rigid musk
#

I thought you could change it so that it does tbh_seen

#

I've only used it once or twice though so I could be wrong

uncut viper
#

tbc like i said i dont know if there are any issues besides resetting config. id expect not, but i just cant 100% confirm it one way or another

#

deleting the folder makes no d ifference in what happens here

#

(assuming there is no other issues)

rigid musk
#

it would also make it easier for the translators since they would only have to edit the config section of their jsons and not... the entire thing

uncut viper
#

the work for the translators is the same either way

rigid musk
#

I meant for the ones who already released translations not the new ones

uncut viper
#

the work for them is also the same either way

#

you are adding 11 things to your i18n, there is only 11 new things for a translator to translate no matter what you do

rigid musk
#

Not really? The tokens are referenced in their document, so they'd have to go through and change those (still a lot easier than what id have to do since they only have to find and replace for three things on one document) but -

no i meant for the tokens

#

if I change tokens referenced in the dialogue they would have to change it too

#

whereas if i just change the config tokens its easier on me and they also only have to deal with that section

uncut viper
#

no they would not

rigid musk
#

How so? it wouldn't be referenced right via the dynamic tokens no?

uncut viper
#

the tokens you would be using in dialogue would be your Dynamic Token, they dont touch those

#

either way, you need 11 more things in your i18n for the various titles and endearments. they are translating those no matter what

#

you use those i18ns in your dynamic tokens

rigid musk
#

exactly - but currently the tokens used via the configs ARE the tokens in the dialogue

uncut viper
#

there is no difference for the translators between you using the config token in dialogue or a new dynamic token in dialogue

rigid musk
#

"Aos.qiancientcacti.text": "@, ^Me di cuenta que has vendido una cantidad decente de fruta milenaria. Tu habilidad cultivando un cultivo tan elusivo me hace confiar en tu capacidad para intentar cultivar otro. Tiene condiciones de crecimiento muy específicas, así que debe ser plantado al interior o en un lugar abrigado. No las pierdas, hay muy pocas en el mundo. ^^ -Tu amigo, {{QiNameTitle}}Qi",

what I mean by that is this- if I had a Dynamic token that became "QiName" and referenced the config "QiNameTitle" I would have to change the instance in this dialogue line (as would the translator) to "QiName" instead of "QiNameTitle"

#

unless im understanding that incorrectly

uncut viper
#

okay, i misunderstood what you meant, thats my bad

#

i thought you thought they had to translate the dynamic tokens themselves, not the things they are used in

rigid musk
#

OH sorry! No that's not what I meant kekw

uncut viper
#

quick question though

#

"config.QiEndearmentTitle.values.My_heart"
does this actually need to use an underscore instead of simply a space?

#

have you actually confirmed that it even does work with an underscore if the value itself does not have one?

reef kiln
#

Question about something that came up in the modded chat. They are an android player so I am guessing that is why. But they are able to use all the NPC warps. The ones the player is not supposed to have access too. Just wondering if anyone know why that would happen. More because I am curious how it would be possible then anything else. I told them to report it to the android people. So feel free to not engage in my speculation request.

rigid musk
#

I don't actually remember, I didn't see an example of a config using spaces... I figured it'd work with an underscore mostly because that's how other space conventions work? I suppose?
I'll be honest I did not confirm if that worked or not though I can see

hot gale
#

Can CP mods include sounds?

uncut viper
#

i might be missing an obvious reason why this wont work, but it has me wondering if you even need to use a dynamic token at all

hot gale
#

That can be called to like sounds can in other places

dusk mulch
hot gale
#

Awesome, ty!

dusk mulch
#

oops

uncut viper
#

If you have a config token called QiEndearmentTitle for example, and it has an allowed value of My_heart with an underscore
and you have i18n so that on the config screen it actually looks like My heart with a space, so thats fine
Then if, for example, QiEndearmentTitle is currently set to My_heart, could you not do {{i18n: config.QiEndearmentTitle.values.{{QiEndearmentTitle}}}}, which would then show up as My heart?

#

since that is a valid i18n key in your default.json, after all, once it becomes config.QiEndearmentTitle.values.My_heart after the inner token resolves

#

(which is why it'd need an underscore i think, otherwise im pretty sure the space might break it in the i18n token? not sure though)

#

if t his worked though while you would get rid of dynamic tokens, it would also still need all the tokens to be replaced, so its not like, without its disadvantages

#

you could combine both, and make one dynamic token whose value is that i18n token, and do the thing with renaming your config

#

which would still require translators and you to fix the config section of your i18n json, but it'd mean only one dynamic token should be necessary for each of the configs, i think, so 2 in total instead of like, 11

rigid musk
#

Okay so... I got kinda lost with trying to understand what you were saying, but it looks like the underscores AREN'T needed (and in fact actually make it so the config translation showing properly doesn't work so that's... something I should have tested)

uncut viper
#

that is in line with what i woulda expected

#

if you're willing to do a test, can you change your i18n from "config.QiEndearmentTitle.values.My_heart" to "config.QiEndearmentTitle.values.My heart" (with a space)
and then see if {{i18n: config.QiEndearmentTitle.values.My heart}} works?

#

if it does, then people dont even need to lose their configs

rigid musk
#

Okay I did a test, (removing the _) and it works for the config display but I will still need something else for the translation...

I'm not sure what you mean by the second part though? Do you mean changing all of the tokens to that?

uncut viper
#

i just dont know if the space in the "My heart" part would make the i18n token not work correctly

#

so i guess you dont actually need to change anythingy ou can just open the game and do patch parse "{{i18n: etc}}"

rigid musk
#

the space made it work actually - it wouldn't show any changes in the config otherwise (i.e. when it was set as my_heart if I put "TEST" in as the translation it wouldn;t work, but it does when I just have it as my heart)

uncut viper
#

i dont mean in the key of your default.json

#

i mean if you try to use an actual i18n token

rigid musk
#

Do you mean like... putting a token IN the default json?

uncut viper
#

does patch parse "{{i18n: config.QiEndearmentTitle.values.My heart}}" in your smapi console work

#

does it correctly parse it

rigid musk
uncut viper
#

hmm

rigid musk
#

It shows up with what I have there in the config section... so there's that? I guess

tidal stone
#

this tutorial video im watching (its for another game so im checking in that thsi is correct) it says after you save your map you need to export it, what do i export it as?

uncut viper
#

they work differnetly so that doesnt surprise me

#

can you try patch parse "{{i18n: \"config.QiEndearmentTitle.values.My heart\"}}"?

rigid musk
#

so at least this part is working... at least..

uncut viper
#

sad. well, people will be losing their config no matter what then lol

#

okay, so, to recap, you will be changing your config names from QiEndearmentTitle, QiPlayerTitle, and QiNameTitle to just QiEndearment, QiPlayer, and QiName, so you dont have to change the tokens everywhere else

rigid musk
#

That's the intention yeah

uncut viper
#

you will also want to replace their allowedvalues

#

to replace spaces with underscores

#

so instead of "AllowValues": "My heart, My dear" you'd have "AllowValues": "My_heart, My_dear" for example

rigid musk
#

I already did that for those since I realized (which thank you very much for pointing it out, i dont know why I did it I think I just thought you needed the underscores for stuff with spaces like how you do in some parts of the other code)

uncut viper
#

just to be clear, i mean you want underscores, so if you removed them from your default.json, put them back

#

you want e.g. "config.QiEndearmentTitle.values.My_heart" not "config.QiEndearmentTitle.values.My heart"

#

even if the second one works for the config section

#

(ofc you also want to remove the Title from them since you're renaming the config)

reef kiln
#

This is why code takes me so long to do. Some places you want spaces others you want underlines, and in others neither is needed. Code should be like math! The rules are always the same.

uncut viper
#
"DynamicTokens": [
    {
        "Name": "QiPlayerTitle",
        "Value": "{{i18n: config.QiPlayer.values.{{QiPlayer}}}}"
    },
    {
        "Name": "QiNameTitle",
        "Value": "{{i18n: config.QiName.values.{{QiName}}}}"
    },
    {
        "Name": "QiEndearmentTitle",
        "Value": "{{i18n: config.QiEndearment.values.{{QiEndearment}}}}"
    }
]
#

i believe then that this should work

#

this means that your existing tokens in dialogue, events, etc dont need to be changed. translators (aka mistyspring) w ill still need to rename their config token names in their i18n json, but they wont need to remove any underscores, and they wont need to add new translations just for "My dear" or "My heart" or whatever

#

since they already translated them once for the config, we can re-use it instead of adding new lines to the i18n

#

because the AllowValues of our config have changed, though, players will lose their saved config values for these three config options

#

but, that would happen no matter what, because you are renaming them

#

(i said 2 total earlier but thats bc i forgor QiNameTitle)

rigid musk
#

IT WORKS

uncut viper
hot gale
rigid musk
#

Thank you Button I really appreciate it

uncut viper
#

SDVpuffersalute happy to help

hot gale
#

Congrats :D

uncut viper
#

i would probably let mistyspring know about the change since it might be hard to spot otherwise

#

once you post the update

rigid musk
#

Yeah I added comments around the parts that changed, but I will definitely do that for the them and the other person who translated the mod :3

uncut viper
#

oh i thought it was just misty, in that case yes better to let em both know SDVpufferthumbsup

tidal stone
#

On tiled for the layers which layer would you guys reccomend for benches, I want to make them sittable but idk what layer that would be good to put them on (im thinking front but im not sure)

reef kiln
naive wyvern
#

buildings for sittable/interactable things is the usual thing kandi

tidal stone
#

aah ok thank you!

#

and lol yea if im doing this i gotta go all out XD

naive wyvern
#

the maps page has more details if you want to take a peek for what else you can do

tidal stone
#

ooh ok

rigid musk
#

Misty posted theirs today, someone else made a Korean one that was posted nearly the day after I posted my mod heh

rotund elm
#

this is a crime, (forage with the "torch_item" context tag)

rigid musk
#

it looks kinda pretty though

uncut viper
#

ahh, they just didnt list it as a translation on nexus

rigid musk
#

Yeah it was posted on ... oh im blanking on the name

reef kiln
rigid musk
#

Also would anyone have any idea as to why someone would get locked in a room / not be able to leave with a locked door warp property of LockedDoorWarp 30 10 Club 600 2600

#

since that's literally the entire day they shouldn't get locked in, right?

rigid musk
#

I honestly can just remove that and make it a 'walk out' situation ...

tidal stone
#

in tiled how do i set a unique id name for my map?

rigid musk
#

yeah someone reported getting stuck in his room for whatever reason and it just showing 'it's locked'

tidal stone
#

or is that like a file name thing

rigid musk
#

they sent a video of it... and it was 2 in the afternoon in game so

uncut viper
tidal stone
#

ah ok

uncut viper
#

when you Load the tmx (or EditMap it) the Target is what the name would be

vernal crest
uncut viper
#

minus the Maps/ part

rigid musk
#

There are most definitely other ways

tidal stone
#

im filling out one of the stop code formats for central station and i wanna make sure i put in the right id

vernal crest
rigid musk
#

Also on buildings layer?

vernal crest
#

The action warp? Yes

tidal stone
#

when i export a map it should be as a tmx file right

#

nvm i see it

#

XD

tidal stone
#

ok i need help i am clearly doing something wrong lmao XD lketn me get my log and content folder

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 5 C# mods and 1 content packs.

vernal crest
tidal stone
#

yes

#

I appear to have 4

rancid musk
#

Well I just spent like 20 minutes trying to figure out why this sprite was getting cut off like this... only to discover that SpaceCore's Skills page is drawing its own background on top of the one the GameMenu draws.

#

So that's how my evening is going.

tidal stone
#

im going to assume there should just be one and i need to merge them

vernal crest
# tidal stone I appear to have 4

You can't have multiple layers with the same name. If you need to use more than one Front layer so that one of them draws on top of another, the other should be called Front1 (if it draws on top of Front) or Front-1 (if it draws underneath Front).

tidal stone
#

OH

#

ok nice!

#

man this really gives a new perspective to all the hard work people do for mods

vernal crest
#

There's definitely a lot to learn, yeah.

tidal stone
#

can i change the path that it goes to take from tielsheets

#

i didnt put them in the same folder first and i dont wanna have to do this whoele map again lmao

uncut viper
#

you can edit the .tmx directly in notepad++ to change the tilesheet paths

#

!tilesheetclimbing

ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

lucid iron
#

after doing AddPage in GMCM

#

can i switch back to main

rancid musk
lucid iron
#

weedses

tiny zealot
#

what is Honk

rancid musk
tiny zealot
#

i don't know what i expected.jpg

rancid musk
#

Testing my API with ```cs
API.OnPageCreated(API_OnPageInstantiated);

void API_OnPageInstantiated(IPageCreatedEvent e) {
if (e.Page is OptionsPage page)
page.options.Add(new OptionsButton("Honk", () => Game1.playSound("Duck")));
}```

uncut viper
tidal stone
#

how does one find the unique id for their map

uncut viper
#

you dont. you make it up

lucid iron
#

ty i was about to go look for gmcm sauce

tidal stone
#

oh

#

well then new problem idk how to assign an id to my map

uncut viper
#

how are you loading your map?

rancid musk
#

(Honestly I think I might leave the honk button in just to confuse people, lol)

tidal stone
#

content patcher

vernal crest
tiny zealot
uncut viper
#

i meant how are you using it so far to load it, like your Load patch

#

(it seems Aba has more context than i do though, so defer to them)

tidal stone
#

im using a map location loader for a warp and it says the location couldnt be loaded

vernal crest
tidal stone
#

oooh ok

#

i must have missed it then

rancid musk
#

Speaking of menus, while you're here button, do you want me to send a PR to Special Power Utilities for Better Game Menu? It should be a very simple thing.

uncut viper
#

if you find the time for it then feel free, i planned on doing it Eventually™ i just dont have time to work on mod stuff atm

#

i dunno when you planned on releasing it so the Eventually might just end up being before then anyway if it was gonna be a while

tidal stone
#

the only error it gives it "warp to KandiKraze.TheNeighborhood_NeighborhoodMap failed: location wasn't found or couldn't be loaded."

rancid musk
#

I was planning on end of the month ish

tidal stone
#

sure thing

uncut viper
#

i could probably find time between now and then, so like, feel free to make the PR low priority compared to other things

rancid musk
#

Probably only take me like 5 minutes, but yeah I'll make it low priority.

tidal stone
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 5 C# mods and 1 content packs.

rancid musk
#

UI Info Suite and some others will be more involved I expect

uncut viper
#

if i forget and havent done it by the time you're coming up on like, wanting to release soon, feel free to also just ping me if you want and i can put in a self rush order to do it

vernal crest
uncut viper
#

actually working on mods is just also a low priority for me rn SDVpufferpensive i am not allowing myself to open Rider or else i know im gonna get sucked into doing mod stuff instead of my actual responsibilities

tidal stone
#

Oooohhhhh

vernal crest
uncut viper
#

make sure to download the CP docs so you can mod in case the internet goes out /j

dusk mulch
#

please

#

i must know

#

or else i will cry

#

does it just make a honk sound

rigid oriole
#

man I play ONE in-game day and I've already got more little mod project ideas meanwhile my actual released mods have bugs I should be squashing instead

dusk mulch
rancid musk
lucid iron
#

wow yes

rancid musk
#

Getting back from memes, this might not be too bad a way to display lots of tabs.

lucid iron
#

im installing just for this

rancid musk
#

(The real trick is when pressing the honk button secretly spawns a goose somewhere in the world to do... goose things.)

lucid iron
#

oh no

rigid oriole
#

have we considered untitled goose but in stardew

#

like it just runs around a random map each day being a menace

urban patrol
#

i 100% want to play stargoose valley

dusk mulch
#

what if you spam the button, will the map be filled with geese

rancid musk
#

I do not have a secret goose mod, just a secret game menu replacement mod. Better Game Menu, coming end of the month.

dusk mulch
tidal stone
#

when walking behind a building i can't really get behind it because of an invisible wall, if i make it passable through coding the building will that let me walk behind it or is that a different thing altogther

dusk mulch
#

or the "AlwaysFront"

brittle pasture
rigid oriole
#

tell me about this MEEP

dusk mulch
brittle pasture
#

it's a framework that among other things allow spawning farm animals outside of farms

sour sleet
dusk mulch
brittle pasture
#

I'm not too sadistic to implement that
the idea of a carnivorous farm animals that require eating other farm animals did cross my mind

dusk mulch
#

the geese is supposed to be funny

#

not annoying

lucid iron
#

i dont think MEEP let u give advanced goose menance tho

sour sleet
#

Bahaha, make it a reality someone

lucid iron
#

not yet at least

brittle pasture
#

with EAC we can at least make it relentlessly attack the farmer

urban patrol
#

-1 health, -1 health, -1 health

dusk mulch
sour sleet
#

This genuinely sounds like a good mod idea though /g

uncut viper
#

is /g genuine or is /g like. /garfield

urban patrol
#

/g for goose

sour sleet
#

Garfield of course

dusk mulch
rancid musk
#

I mean the goose is supposed to be annoying too but not like... annoyingly annoying

#

If that makes sense

brittle pasture
dusk mulch
#

you have caught my attention

#

which is hard to do

#

show me your secrets

brittle pasture
#

void chickens will now try to kill you
if you have SVE or VMV, their goose will try to kill you too

dusk mulch
#

ooooo

#

im installing that, i will let you know how i go

rancid musk
#

Anyways, seems like 21 is the limit of how many tabs I can comfortably fit on top of the menu without having to resize the built-in menus. I suppose this is... a good number to target for a first release. I doubt people are going to shoot up to 22 tabs over night.

uncut viper
#

is there controller support?

tidal stone
#

Woohoo it works, now to find the right tile for use with central station

rancid musk
#

Of course. Controller support. And split screen support.

#

And it technically fits in 1280x720

#

Though it gets a bit... tight, lol

#

(I just want to be lazy and not implement tab scrolling for the first version. Scrolling is annoying.)

brittle pasture
#

and here I thought scrolling is the favorite feature to implement for GUI modders

rancid musk
#

I already implemented perfect scrolling once. I earned the right to be lazy. 😛

tidal stone
#

i have some stuff set as buildings and yet I still walk over them

#

like benches is this possibly due to later order?

vernal crest
tidal stone
#

1157zerofacepalm Oh

#

ok for Back is that for the cliffs and stuff or is that a different layer