Hey, I was thinking I'm probably not the only one who likes to collect and hold on to rare finds and certain items they come across, so would anyone else think it useful if we could craft like a china cabinet to keep them in and display in our homes? It's no fun just keeping them in chests, I'd like to put some rare finds on display and use them to decorate my home. Also it might be kind of cool if you could mount fish and either put them up in your home or sell them as a crafted item.
It's a good idea, and definitely something I've thought about. It'd be nice to have it in the vanilla game and definitely something worth putting up as a suggestion, but a mod would be great for now. After all, I have all of these 'legendary' fish, and even though they're worth a lot and I could just sell them, it would be nice to display them, as a sign of accomplishment. I figure it work similar to the grange that you put your selection of items in at the Stardew Valley Fair, and If it's possible there, I figure there's a way to program/code a placeable item or object to do the same. There could be cabinets, like you've already mentioned, plaques for your proud catches or just for pretty items, wall-mounted shelves... stuff like that.
I know this thread is a bit old but I as well would really like to see some sort of display case and/or fishbowls added to the game to keep those prized items or fish.
I am afraid that until Farmhand is available, or my attempt on getting it to work in EntoFramework, actual new items are difficult, and advanced items like these completely impossible
New items being difficult I knew, but isn't there an additional crops mod around? How is that one handled?
Crops get "automatically" inserted in the game, you only need a way to get the seeds which can be done very easily by custom seed shops(takes like, 4 lines in SMAPI). Same thing for NPCs, you only need to find a way to place them in game once(three line in smapi), the real problem with these more complex items is that their workings is hardcoded in the game and most of the times, actually split between many different methods. My bet is that doing this is a bit too heavy for the engine to handle but idk, I literally made my first mod for a game yesterday and only started using SMAPI 2 days ago, Idk how computationally heavy doing these things are.
The game already knows how to deal with crops, so adding new crops is easy, but to have a display cabinet would require a new object, because there are no existing display cabinets in the game, and we modders currently cannot interface with the code that is responsible for saving furniture to file, and since we cannot do that, we cannot tell the game how to save our new object, crashing the game.
Does this implies new furniture isn't possible or just that furniture with special things isn't possible? Like, if I wanted to add another useless plant in a pot, would I be able to?
I honestly do not know... let me have a look for you Edit: Yep, looks like you can quite easily add more furniture by editing the texture and furniture data Edit 2: Note that "Easily" here means, "if you know what to do", there are quite a few things you need to define in the furniture data so the game knows how to deal with the furniture in question.
I sincerely think furniture is handled just as crops are, In fact, I do believe that ALL items are handled that way, it's just that their usefulness is extremely limited AND hardcoded. E.g: crops are always crops so if you wanted a specific crop to have a different behavior you would need to write it yourself with the API. Furniture is always furniture. Other items are always other items, edibles are just a special case of these other items(they have a field called edibility set to some value that is not -300). Things like furnaces, kegs, torches... are just like furniture but have their functionality hardcoded in the game.
"if you know what to do" = there go my hopes of adding my own furniture I'm used to editing the .png files, but I'm never messing around with code. Pretty sure a bomb would go off somewhere in the world if I did. xD
Not code, the data needs to essentially tell the game 2 main things about the object, A: the size (Obviously), and B: If it can rotate, how to rotate it.
I think, it's possible to use chests as showcases if we override drawing method. I've not practiced modding last half year, and now I see, that it hasn't become easier. But my old technique with item replacing before saving still should work. So, it needs to find a chest with reserved ID and replace it with a custom class. Then to draw «chest» and draw items over «chest». Maybe it's possible to use StorageContainer to restrict an amount of items. And, before saving, it needs to replace custom class with Chest class to prevent a crash during serialization. But I think, it will be too hard to create non-1x1 showcase, like in autumn Stardew Valley Fair (3x3). Or to create wall items, like in Sims for fishes. Unfortunately, now I have no time to realize this
Single-item displays are already possible though, so going through all the difficulty of editing the chest to work like one is pointless, the real goal was to create a larger display, and that is where the issue happens...
Do we really need a larger display? We can create two/three separate items for left edge, right edge, and center to emulate 1xN showcase. Also, I've thought about usage of Furniture as base object in game and Chest object for saving. It will allow to use showcase on walls, but I'm not sure, that game engine allows to save it correctly after transformation to the Chest.