the basic functionality is done it can store and retrieve inventories, playerdata, and player locations ####THINGS I WILL ADD: "object-based" configuration: LOCATIONS: world-specific, or categorical (ie "spawn" - every world has one) able to create, if you want, entire unique trees of defaults for each location category, to be used when a world does not have a coordinate set for the location category DEFAULT default is server spawn. A teleport command to that location can be given its own per-command defaults including "none" - ie, cancel the teleport if the target world has no coords set for that category -- EXCURSIONS: an excursion is an ongoing "visit" to a world. each player can have multiple stored excursions per world every excursion has its own inventory and/or data world-specific categorical excursion tracking: some excursions might terminate if the player dies, respawning them elsewhere, or, perform some other action in response to an event occuring within the excursion -- STORYLINES: a player can have multiple storylines, each one a separate path through the server, almost like multiple accounts per player. There could be, for example, a utility admin storyline, a path completely separate from the admin's journey as a player world scope: for each storyline, set which worlds are, or are not, part of the storyline. those worlds when entered might default you to a different storyline, or deny your entry entirely until you switch to an allowed storyline for that world. -- PLAYER TRACKING: certain player data points must be tracked and stored, such as last known location, last death, number of deaths, etc. These are all stored in the following way: per player per storyline per player per world per storyline per player per excursion per world per storyline per player And the incomplete list of automatically tracked data points: LAST KNOWN LOCATION (PLAYER) LAST DEATH LAST KILL # DEATHS # KILLS (MOB) ...? LAST DEATH LAST KILL # DEATHS # KILLS maybe just implement a sort of "per-world scoreboards" type thing allowing for arbitrary named objectives with arbitrary integer values