I am trying to use signs to register doors to players, and only allow those players to open doors registered either to them, respectively, or to nobody. I've figured out how to get the text from a sign when it's placed and how to find if there is a door immediately around it (and then handle the request, judging by whether there's a door or not). What I'm trying to do is figure out how I should store the info. What I really want to be able to store would be the Sign and the door together (should I use Block for either of those?), and then register them as being owned by a player. Obviously, the player would be able to own more than one door, and I would store the player's name instead of the Player object. I'm thinking that I should just use a HashMap<Sign, Block> nested inside another HashMap, but that seems really tedious and hard on memory, and for some reason it seems like it would be unreliable to save, be it to a file or using some form of database (if it's better to use the latter, expect another thread on how to use SQL or the like ). Anyway, bottom line: how should I go about saving the registry of doors and their owners? If you'd like, I can post any little bits and/or pieces of the code for reference. (That's the end of the question, I'm gonna think out loud here for a sec, and if you have the time to read and comment, I'd appreciate it.) I've read a little bit about player metadata, but I've only played with it a little when I was half-asleep and had no idea what I was doing, so I'm not sure if it could come into play here or not. What would be really cool to me would be to set up an entirely different class for a registered door, which is what I might do. I think I know what I'm doing there, I just don't know what consequences it would have.