I'm adapting a mod I wrote for ModLoader 1.3 and SSP to Forge and SMP and have hit a bit of a sticking point.
I use an inventory which is particular to the player rather than to a block / tile entity (a la ender chests/pouches or alchemy bags) and am having trouble reading and writing those inventories to disk in an SMP-friendly manner. I've gotten a lot of mileage out of the forum and wiki here and by following along with existing code (cpw, you're a life-saver), but I haven't been able to dig up any examples of this kind of data storage and I'm apparently not yet familiar enough with Forge and the current state of MC modding to work it out on my own. :-)
Originally, when I was only worried about SSP, I wrote the Inventory class to handle reading and writing (called from the container's constructor and the inventory's closeChest, respectively) to a file located under the integrated server's save directory, and after converting that to use FML's getMinecraftServerInstance, it works just fine under Forge SSP. Under SMP, predictably, it's an absolute mess. The client crashes with a NullPointerException trying to find the save folder (no SaveHandler, so no surprise there) and the server never tries to read the inventory at all.
So! Any advice? I'd be perfectly happy to just scrap my current approach, as it's pretty hacky, but I haven't yet managed to find an addon which hits the trifecta of having blockless inventories, using Forge, and being open-source. The vanilla Ender Chest is sub-optimal because it stores its inventory within the player and I need something that's "owned" by a single player, but visible to all.
(I can post code if any want it, but I'm pretty convinced that the problem is a bad approach, rather than bad code.)