I voted No, I don't think the problem is with the shop, more with how the map is layed out.
I really believe this is a map specific problem, that a solution needs to be found for the individual maps where battle shopping is a problem.
For every case, lets consider you no longer have an egg and are the only one having to face a team of people camping, also without an egg, but won't leave the island, and prefer gearing up until they each have 5 sets of diamond, so they won't go after you if you wait for them to come to you, you have to go in that 5v1.
Battle shopping on some maps is a serious problem as you cannot fight the other team as they swap/buy gear faster than you can kill each of them.
Whether a map is prone to battle shopping or not falls down to 2 things:
- How easy it is to collect diamonds mid fight.
- How safe it is to shop.
Battle shopping is not a problem : + What stops battle shopping from being a problem.
Medieval & Jungle:
Blocking up the villager inside a container away from gens + spawnpoint (house, hut etc..)
City, Aztec, Space, Forest, Magic, Oriental, Under da Sea & Instruments:
It is possible to hit the player off the map while shopping.
Pizza:
Gens are risky to go to, can get knocked off getting gold/diamond + flat island.
Mushrooms:
It is easy to knock people off the island / isolate the generators.
Storm:
Position of the diamond gen is risky making collecting diamonds mid fight risky.
Tea Party, Treehouse & Toys:
Easy to block up the diamond gen, stopping players from gearing on the fly again.
Western:
Possible to block up the villager, map has enough void that battle shopping is less of a problem.
Beach:
Diamond gen is far enough from the island.
Fairground: I can't really put this anywhere, it just works, I think it's because it's easy to escape/bow people off.
Battle shopping is a problem: + solution .
Garden: Move the villager 1-2 blocks outwards and more in the open area.
-> also moves the build protection that stops us from placing blocks to stop respawning players from gearing up easily every time
Food: Move the villager slightly outwards closer to mid in a more centered position.
Huts: Move the villager or the diamond gen outside or in an upstairs compartment, somewhere that is further from the diamond gen but not tedious to go to.
Kingdom: Make the entrance to the diamond room slimmer/lower, (even half slabs on the top) so you only need 3 obsidian to block the diamond gen.
Maps I left out:
Dwarven - I can't remember where to place this one.