Help with setting up an event on a new map, please.

Khatarina

Greenhorn
This is driving me up the wall. I made a new more run-down farm, with a stream running through it, and I'm trying to set up events for the broken bridges on it, (like the beach bridge,) but I can't get the event to activate. I tried to find the actual beach event to look at, but can't find it anywhere in the unpacked files, and have been all over the various help pages. Here's a shot of the farm layout with the three bridges (and the swimming hole I'm trying to make too, once I get the swimsuit change tiles to activate, but that's another matter,) and the code from my content file. Can anybody see what probably dumb mistake I'm making?
Code:
{
  "Format": "2.9.0",
  "Changes": [
 
      {
      "Action": "EditData",
      "Target": "Data/AdditionalFarms",
      "Entries": {
        "Khatarina.Abandoned": {
          "ID": "Khatarina.Abandoned",
          "TooltipStringPath": "Strings/UI:Khatarina_Abandoned",
          "MapName": "Khatarina_Abandoned",
          "IconTexture": "Mods/Khatarina.Abandoned/Icon"
          }
        }
    },
    
    {
      "Action": "EditData",
      "Target": "Strings/UI",
      "Entries": {
        "Khatarina_Abandoned": "Grandpa's Abandoned Farm_This farm's been almost completely reclaimed by nature.  It'll take a lot of work to fix it up."
      }
    },
    
    {
      "Action": "Load",
      "Target": "Maps/Khatarina_Abandoned",
      "FromFile": "assets/AbandonedFarm.tmx"
    },

    {
      "Action": "Load",
      "Target": "Mods/Khatarina.Abandoned/Icon",
      "FromFile": "assets/Icon.png"
    },
    
    {
      "Action": "Load",
      "Target": "Data/Events/Khatarina_Abandoned",
      "FromFile": "events.json"
    },

    {
      "Action": "EditData",
      "Target": "Data/Events/Khatarina_Abandoned",
      "Entries": {
        "{{ModID}}_Bridge1/!LocalMail Bridge1Fixed/hasItem 388 100": "continue/54 20/farmer 54 18 3/message \"There used to be a bridge here, but the water has washed it away.\"/question fork1 \"Do you want to use 100 pieces of wood to rebuild the bridge?#yes#no\"/fork Nofix/globalFade/viewport -1000 -1000/playSound hammer/removeItem 388 100/setmail Bridge1Fixed/pause 1000/fade/viewport 54 18/message \"There.  That's a good day's work.\"/end",
        "NoFix": "\"We'll worry about it later\"/end",
      "!LocalMail Bridge1Fixed": "message\"You need 100 pieces of wood to rebuild the bridge.\"/end"
      }
    },

    {
      "Action": "EditMap",
      "Target": "Maps/Khatarina_Abandoned",
      "When": {
      "HasFlag": "Bridge1Fixed"
      },
      "FromFile": "assets/bridgeh.tmx",
      "ToArea": { "X": 49, "Y": 17, "Width": 6, "Height": 3 }
    },

    {
      "Action": "EditData",
      "Target": "Data/Events/Khatarina_Abandoned",
      "Entries": {
        "{{ModID}}_Bridge2/!LocalMail Bridge2Fixed/hasItem 388 100": "continue/58 25/farmer 58 23 2/message \"This bridge is destroyed too.\"/question fork1 \"Do you want to use 100 pieces of wood to rebuild the bridge?#yes#no\"/fork Nofix/globalFade/viewport -1000 -1000/playSound hammer/removeItem 388 100/setmail Bridge2Fixed/pause 1000/fade/viewport 58 25/message \"That wasn't so hard.\"/end",
        "NoFix": "\"It's probably not that important\"/end",
      "!LocalMail Bridge2Fixed": "message\"You need 100 pieces of wood to rebuild the bridge.\"/end"
      }
    },
    
    {
      "Action": "EditMap",
      "Target": "Maps/Khatarina_Abandoned",
      "When": {
      "HasFlag": "Bridge2Fixed"
      },
      "FromFile": "assets/bridgev.tmx",
      "ToArea": { "X": 57, "Y": 23, "Width": 3, "Height": 6 }
    },
    
    {
      "Action": "EditData",
      "Target": "Data/Events/Khatarina_Abandoned",
      "Entries": {
        "{{ModID}}_Bridge3/!LocalMail Bridge3Fixed/hasItem 388 100": "continue/42 50/farmer 45 48 3/message \"Even the bits that are left of this one look rotten.\"/question fork1 \"Do you want to use 100 pieces of wood to rebuild the bridge?#yes#no\"/fork Nofix/globalFade/viewport -1000 -1000/playSound hammer/removeItem 388 100/setmail Bridge3Fixed/pause 1000/fade/viewport 42 50/message \"It looks good and strong.\"/end",
        "NoFix": "\"You can always just walk around to the other bridges.\"/end",
      "!LocalMail Bridge3Fixed": "message\"You need 100 pieces of wood to rebuild the bridge.\"/end"
      }
    },
    
    {
      "Action": "EditMap",
      "Target": "Maps/Khatarina_Abandoned",
      "When": {
      "HasFlag": "Bridge3Fixed"
      },
      "FromFile": "assets/bridgeh.tmx",
      "ToArea": { "X": 40, "Y": 47, "Width": 6, "Height": 3 }
    }
  ]
}
file.

farm.PNG
 
I'm not talented that way do I got this from ChatGPT hope this helps


In Stardew Valley, the pet bowl (the water bowl next to your farmhouse for your dog or cat) is part of the Farm map, not a normal placeable object. That means:

  • You can’t move it in vanilla gameplay.
  • It’s baked into the farm’s map file.
  • There’s no simple in-game command to reposition it.
If you want to move it, you have two real options: map editing or a SMAPI mod that edits the farm map.

Option 1: Edit the Farm Map (Advanced – Uses Tiled)
You would need:

  • Stardew Valley
  • SMAPI
  • Tiled
Steps Overview
  1. Unpack the game files
    Use SMAPI + Content Patcher workflow (don’t directly edit XNB files anymore).
  2. Locate the farm map
    The default farm map is:

    Maps/Farm.xnb

  3. Edit in Tiled
    • Open the unpacked .tmx version.
    • Find the tile that contains the pet bowl.
    • Cut and paste it to your desired location.
    • Make sure you also move any collision or building layer tiles.
  4. Load it via Content Patcher
    Create a Content Patcher mod that replaces:

    Maps/Farm
Option 2: Content Patcher Map Edit (Cleaner Way)
Instead of replacing the whole map, you can do a map patch.

Here’s a Content Patcher content.json example that moves the pet bowl by copying the tile to a new location:


{
"Format": "2.0.0",
"Changes": [
{
"Action": "EditMap",
"Target": "Maps/Farm",
"MapProperties": {},
"AddBuildings": [],
"TextOperations": [],
"Remove": [],
"Add": [],
"Replace": [],
"Move": [
{
"FromArea": {
"X": 64,
"Y": 15,
"Width": 1,
"Height": 1
},
"ToArea": {
"X": 70,
"Y": 20
}
}
]
}
]
}


⚠ You must replace the X/Y coordinates with the actual pet bowl tile location on your farm map.

Important Notes
  • The pet bowl is purely decorative + interactable.
  • It does not have separate object data — it’s just a tile.
  • You may need to adjust:
    • Back layer
    • Buildings layer
    • Front layer
    • AlwaysFront layer
If you don’t move all relevant tiles, it can glitch.
 
I'm not talented that way do I got this from ChatGPT hope this helps


In Stardew Valley, the pet bowl (the water bowl next to your farmhouse for your dog or cat) is part of the Farm map, not a normal placeable object. That means:

  • You can’t move it in vanilla gameplay.
  • It’s baked into the farm’s map file.
  • There’s no simple in-game command to reposition it.
If you want to move it, you have two real options: map editing or a SMAPI mod that edits the farm map.

Option 1: Edit the Farm Map (Advanced – Uses Tiled)
You would need:

  • Stardew Valley
  • SMAPI
  • Tiled
Steps Overview
  1. Unpack the game files
    Use SMAPI + Content Patcher workflow (don’t directly edit XNB files anymore).
  2. Locate the farm map
    The default farm map is:

    Maps/Farm.xnb

  3. Edit in Tiled
    • Open the unpacked .tmx version.
    • Find the tile that contains the pet bowl.
    • Cut and paste it to your desired location.
    • Make sure you also move any collision or building layer tiles.
  4. Load it via Content Patcher
    Create a Content Patcher mod that replaces:

    Maps/Farm
Option 2: Content Patcher Map Edit (Cleaner Way)
Instead of replacing the whole map, you can do a map patch.

Here’s a Content Patcher content.json example that moves the pet bowl by copying the tile to a new location:


{
"Format": "2.0.0",
"Changes": [
{
"Action": "EditMap",
"Target": "Maps/Farm",
"MapProperties": {},
"AddBuildings": [],
"TextOperations": [],
"Remove": [],
"Add": [],
"Replace": [],
"Move": [
{
"FromArea": {
"X": 64,
"Y": 15,
"Width": 1,
"Height": 1
},
"ToArea": {
"X": 70,
"Y": 20
}
}
]
}
]
}


⚠ You must replace the X/Y coordinates with the actual pet bowl tile location on your farm map.

Important Notes
  • The pet bowl is purely decorative + interactable.
  • It does not have separate object data — it’s just a tile.
  • You may need to adjust:
    • Back layer
    • Buildings layer
    • Front layer
    • AlwaysFront layer
If you don’t move all relevant tiles, it can glitch.
The pet bowl is interactive and you can move them in vanilla and make new ones, AI.
 

Khatarina

Greenhorn
I'm not talented that way do I got this from ChatGPT hope this helps
Yeah, the AI seems to do things weirdly. I think maybe it's using outdated info or something. For instance, mods farms are now added as completely new farms, not overwriting the default ones. And the bowl doesn't have any placements on the Tiled map, the game seems to add it during setup. I moved my swimming hole anyway, so it's not in my way anymore. I mostly want to get those events working.
I've got the code for them which I worked out by a combination of asking the AI and browsing the guides, but I can't figure out how to get the map to allow the player to trigger them. Maybe I'll just copy and past the code back onto ChatGPT and see what it says.
 
Top