OS: macOS for me, not sure what @RundesBalli is using
Version: v0.3.0
Commit/Build: 
When building bins and benches using a plugin, certain paths will receive "ghost" items on them. These benches/bins are not possible to use, and guests will just breeze right by them, making that particular tile of path useless.
I'm not sure if this is an actual OpenRCT2 bug, or whether it has something to do with the JS runtime causing some kind of race condition that causes this particular state, but I'm happy to help either investigate in Benchwarmer code or OpenRCT2 for a solution.
Steps to reproduce:
Dump file
N/A
Screenshots / Video:


I'm using the following version:

from:

I have presented my previous research here:
https://github.com/tubbo/openrct2-benchwarmer/issues/11#issuecomment-685061002 (see the whole Issue!)
I've had a quick look at the code and you should be using game actions to do this instead of modifying the additions variable directly, additionally the footpath has a ghost flag for additions which is probably not set correctly since you manually do it. You place objects by using FootpathSceneryPlaceAction
Do we expose the ghost addition flag?
You can set the ghost addition flag, Tile.isAdditionGhost, it's not listed in the typescript file though https://github.com/OpenRCT2/OpenRCT2/blob/a3c9a84ae110595c7de8d8a9b2c5f361e17d2724/src/openrct2/scripting/ScTile.hpp#L945
This is the function that setting the footpath addition by using the . property uses https://github.com/OpenRCT2/OpenRCT2/blob/a3c9a84ae110595c7de8d8a9b2c5f361e17d2724/src/openrct2/world/Footpath.cpp#L1558
Even tho its exposed this should be a read-only in my opinion, if you want to modify things in the park it should be done using game actions, this also ensures the script will work multiplayer wise.
@tombomp Setting path.isAdditionGhost fixed it for me. Thanks!
@ZehMatt I'll probably refactor the plugin in the future to place additions when you actually plop down footpaths, as right now it just does a mass build for all existing footpaths, and you're meant to run it over and over as you build new footpaths. This should reduce the amount of code to protect against things like over-building on the same path, being able to build on paths that you don't own, etc. With that refactor, I'll execute game actions to make this stuff happen rather than just modify the paths themselves. That's gonna take some work though, so I'm gonna go with just flipping the boolean right now.
Thanks very much for the insights everyone!
FootpathSceneryPlaceAction
Do you happen to know the args for this one @ZehMatt? I can't find them in the type defs anywhere.
if you want to modify things in the park it should be done using game actions, this also ensures the script will work multiplayer wise.
@ZehMatt I tried to do this, but I got an "Unknown Custom Action" error. Looking into it a bit more, it turns out that the ActionType I need ("footpathsceneryplace") is not available in v0.3.0 of OpenRCT2. So I guess I'm waiting for the update then to get these game actions working?
All of the game actions you require are available in the develop branch.
But if he's planning on distributing this plugin to others who are still on the release branch, that might cause problems. Might have to wait for the next release before distributing the ideal solution.
Next release is today (hopefully) so no need to wait that long.