Hello all! Some time ago there was a suggestion from Aikar (and possibly others) to implement something like online-shopping on EMC where one would not need to go to different player shops, but would be able to offer stuff for "online-sale", and on the other side be able to "buy online". That was turned down by the community because the majority felt that it would ruin the EMC shopping experience. Here's a suggestion how to both keep the shopping experience and improve it. The Server would keep a list of stock and prices (similar to the original idea) in the shops that want to participate, this would be controlled with a res flag like "shop:list". (Depending on the implementation the server would either go through the shop-chests, or only update the list upon interaction with the shop-chests (changing sign, buying or selling, taking items out or putting into, hoppers). The command like /buy cobble 10 would list 5 shops with the cheapest offer for cobble who have at least 10 stacks in stock (10 slots filled in the cobble chest-shop). The count of slots (stacks or single items for not stackable items) would be optional, so /buy cobble would give a list of best offers regardless of quantity. /sell cobble 9 would list 5 shops with the best offer for cobble with at least 9 slots empty. The players would still go to shops and experience them, would see the shop TP area, be able to see other offers in the shop, but it would save their time going through many non-existent, defunct, or empty (when buying) or full (when selling) shops. (I know this would work against my own shop, but I'd like to have more competition and to give small and specialized shops more chances. Let's play!) What do you think?
This could easily be abused with some stocking the minimal amount at cheapest value to get people to come check their shop out so this earns a thumbs down from me chief.
No, because if you /buy cobble 10 then they won't be listed unless they really have 10 stacks in the chest. And if you need just one piece of something, then - why not?
This idea reminds me of the EMC Shop Locator mod from 1.12, which I loved and used all the time. +1 I don't think this would be a huge concern. Their shop would no longer be listed after selling to one person, who got what they wanted. In fact it's even less abusable than the mod I mentioned because the mod listed empty shops (granted the average player didn't use the mod).
EMC shop locator tool is/was fantastic. There is little hope for having it updated soon. I am a little worried that this would take enough time/coding away from more pressing matters: fighting lag, mob path finding, lighting issues, and the Empires update. I re-newed an old thread to have an active shop/mall directory on the forums. As a small measure, that should help with finding shops. Part of the fun of the economy is to shop around. Otherwise, you just go to one place and be done.
My comment on the subject is that this seems really complicated for the server to pull data from chests in this manner. Not saying impossible, but just functionally wise this sounds like a nightmare.
Yes, one part in that effort is the new thread "How to fail when running a shop", take a look (BTW, You're trying to reach zero margin, that's a nice interesting goal but could also be another fail. Don't let me discourage you! ) I'm taking that as yes! Yay! What I think is not yet there in the code and would be needed is to check if the chest is a shop chest on interaction with a hopper and when player adds or takes stuff and then update the database. The other needed functionality is already there, that would be more or less copy/paste. The code would not go through all of the chests, but would update the database only on interaction (buy, sell, take, add, hopper). This can also be quite easily optimized - cache changes and put into the database in chunks. It's not a nightmare, this is doable, I'd say in 2-3 sessions x few hours of coding and testing. I'd for sure participate with a donation to EMC.
It's more like a No if I was the dev, but I'm not so I can't say no here. I'll be sure to let the devs know you think it takes ' 2-3 sessions x few hours' to code this though. I'm sure they'll have a nice little chuckle at the thought.
The "yes" i understood was like "this would be good for the community and the experience on EMC." The rest are technical details